⊗ppPmDOChLT 383 of 447 menu

連鎖した関連テーブル

ユーザーが特定の都市に住み、 その都市が異なる国に位置しているとします。 この場合、データを保存するには 3つのテーブルが必要になります: ユーザーは都市と関連付けられ、 都市は国と関連付けられます。この場合、 ユーザーと国を直接関連付けるフィールドは不要です。 なぜなら、ユーザーは都市と国の関連付けを通じて 間接的に国と関連付けられるからです。

テーブルを見てみましょう。国のテーブル:

countries
id name
1 country1
2 country2

都市のテーブル:

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

ユーザーのテーブルは変更ありません:

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

クエリ

ユーザーをその都市や国と一緒に取得するには、 2つのJOINを行う必要があります: 1つ目はユーザーに都市を結合し、 2つ目は都市に国を結合します:

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

実践問題

商品が特定のサブカテゴリに属し、 サブカテゴリが特定のカテゴリに属しているとします。 保存するデータ構造を説明してください。

商品をそのサブカテゴリやカテゴリと一緒に 取得するクエリを書いてください。

サブカテゴリをそのカテゴリと一緒に 取得するクエリを書いてください。

日本語
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItalianoქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
当サイトでは、サイトの動作、分析、パーソナライゼーションのためにクッキーを使用しています。 データ処理はプライバシーポリシーに従って行われます。
すべて受け入れる 設定 拒否