Mnyororo wa Meza Zilizounganishwa kwa Python
Hebu sasa watumiaji wakaee katika majiji fulani, na majiji haya yako katika nchi tofauti. Katika hali kama hii, kuhifadhi hitatuhitaji meza tatu: watumiaji wataunganishwa na majiji, na majiji yataunganishwa na nchi. Wakati huo huo, hatutahitaji uga wa kuunganisha watumiaji na nchi - kwa maana watumiaji wataisha kuunganishwa na nchi kupitia muunganisho wa majiji na nchi.
Tuangalie meza zetu. Meza ya nchi:
| id | name |
|---|---|
| 1 | country1 |
| 2 | country2 |
Meza ya majiji:
| id | name | country_id |
|---|---|---|
| 1 | city1 | 1 |
| 2 | city2 | 1 |
| 3 | city3 | 2 |
Meza ya watumiaji itabaki bila kubadilika:
| id | name | city_id |
|---|---|---|
| 1 | user1 | 1 |
| 2 | user2 | 1 |
| 3 | user3 | 2 |
| 4 | user4 | 1 |
| 5 | user5 | 3 |
| 6 | user6 | 2 |
Maswali
Ili kuwatoa watumiaji pamoja na majiji yao na nchi, italazimika tufanye viunganisho viwili: kimoja kitajiunga majiji kwa watumiaji, na kingine - nchi kwa majiji:
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
Kazi za Vitendo
Hebu bidhaa ziwe za aina ndogo fulani, na aina ndogo hizo ziwe za kategori fulani. Eleza muundo wa uhifadhi.
Andika swali litakalotoa bidhaa, pamoja na aina ndogo zake na kategoria zake.
Andika swali litakalotoa aina ndogo pamoja na kategoria zake.