⊗ppPmDOChLT 383 of 447 menu

Susietų lentelių grandinė

Tarkime, kad vartotojai gyvena tam tikruose miestuose, o šie miestai yra įsikūrę skirtingose šalyse. Tokiu atveju saugojimui mums prireiks jau trijų lentelių: vartotojai bus susieti su miestais, o miestai - su šalimis. Tuo pačiu mums nereikės vartotojų ryšio su šalimis lauko - juk vartotojai ir taip bus susiję su šalimis per miestų ir šalių ryšį.

Pažvelkime į mūsų lenteles. Lentelė su šalimis:

countries
id name
1 country1
2 country2

Lentelė su miestais:

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

Lentelė su vartotojais liks nepakitusi:

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

Užklausos

Kad gautume vartotojus kartu su jų miestais ir šalimis, mums teks atlikti du jungimus: pirmasis prijungs miestus prie vartotojų, o antrasis - šalis prie miestų:

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

Praktinės užduotys

Tarkime, produktai priklauso tam tikrai subkategorijai, o subkategorijos priklauso tam tikrai kategorijai. Aprašykite saugojimo struktūrą.

Parašykite užklausą, kuri gaus produktus, kartu su jų subkategorijomis ir kategorijomis.

Parašykite užklausą, kuri gaus subkategorijas kartu su jų kategorijomis.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti