⊗ppPmDOChLT 383 of 447 menu

Lanț de tabele conectate

Să presupunem că acum utilizatorii trăiesc în anumite orașe, iar aceste orașe sunt situate în diferite țări. În acest caz, pentru stocare vom avea nevoie de deja trei tabele: utilizatorii vor fi conectați la orașe, iar orașele - la țări. În același timp, nu vom avea nevoie de un câmp de legătură între utilizatori și țări - deoarece utilizatorii vor fi oricum conectați la țări prin intermediul legăturii dintre orașe și țări.

Să ne uităm la tabelele noastre. Tabelul cu țări:

countries
id name
1 country1
2 country2

Tabelul cu orașe:

cities
id name country_id
1 city1 1
2 city2 1
3 city3 2

Tabelul cu utilizatori va rămâne neschimbat:

users
id name city_id
1 user1 1
2 user2 1
3 user3 2
4 user4 1
5 user5 3
6 user6 2

Interogări

Pentru a obține utilizatorii împreună cu orașele și țările lor, va trebui să facem două join-uri: primul va alătura orașele la utilizatori, iar al doilea - țările la orașe:

SELECT users.name, cities.name as city_name, countries.name as country_name FROM users LEFT JOIN cities ON cities.id=users.city_id LEFT JOIN countries ON countries.id=cities.country_id

Sarcini practice

Să presupunem că produsele aparțin unei anumite subcategorii, iar subcategoriile aparțin unei anumite categorii. Descrieți structura de stocare.

Scrieți o interogare care va extrage produsele, împreună cu subcategoriile și categoriile lor.

Scrieți o interogare care va extrage subcategoriile împreună cu categoriile lor.

Română
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Folosim cookie pentru funcționarea site-ului, analiză și personalizare. Prelucrarea datelor are loc în conformitate cu Politica de confidențialitate.
acceptă toate configurează respinge