⊗ppPmDOChLT 383 of 447 menu

Reťaz prepojených tabuliek

Predpokladajme, že používatelia žijú v určitých mestách, a tieto mestá sa nachádzajú v rôznych krajinách. V takom prípade na ukladanie budeme potrebovať už tri tabuľky: používatelia budú prepojení s mestami, a mestá - s krajinami. Pritom nebudeme potrebovať pole pre priame prepojenie používateľov s krajinami - pretože používatelia budú tak či tak prepojení s krajinami cez prepojenie miest a krajín.

Pozrime sa na naše tabuľky. Tabuľka s krajinami:

countries
id name
1 country1
2 country2

Tabuľka s mestami:

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

Tabuľka s používateľmi zostane nezmenená:

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

Dopytovanie

Aby sme získali používateľov spolu s ich mestami a krajinami, budeme musieť urobiť dve spojenia (JOIN): prvé pripojí mestá k používateľom, a druhé - krajiny k mestám:

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

Praktické úlohy

Predpokladajme, že produkty patria do určitej podkategórie, a podkategórie patria do určitej kategórie. Opíšte štruktúru ukladania.

Napíšte dopyt, ktorý získa produkty, spolu s ich podkategóriami a kategóriami.

Napíšte dopyt, ktorý získa podkategórie spolu s ich kategóriami.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť