⊗ppPmDOChLT 383 of 447 menu

Łańcuch powiązanych tabel

Załóżmy teraz, że użytkownicy mieszkają w określonych miastach, a te miasta znajdują się w różnych krajach. W takim przypadku do przechowywania będziemy potrzebować już trzech tabel: użytkownicy będą powiązani z miastami, a miasta - z krajami. Przy tym nie będziemy potrzebować pola łączącego użytkowników z krajami - przecież użytkownicy i tak będą powiązani z krajami poprzez powiązanie miast i krajów.

Spójrzmy na nasze tabele. Tabela z krajami:

countries
id name
1 country1
2 country2

Tabela z miastami:

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

Tabela z użytkownikami pozostanie niezmieniona:

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

Zapytania

Aby pobrać użytkowników razem z ich miastami i krajami, będziemy musieli wykonać dwa złączenia: pierwsze dołączy miasta do użytkowników, a drugie - kraje do miast:

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

Zadania praktyczne

Załóżmy, że produkty należą do określonej podkategorii, a podkategorie należą do określonej kategorii. Opisz strukturę przechowywania.

Napisz zapytanie, które pobierze produkty, razem z ich podkategoriami i kategoriami.

Napisz zapytanie, które pobierze podkategorie razem z ich kategoriami.

Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć