SQL Self Join
SQL Self Join
self joinは通常の結合ですが、テーブルはそれ自体で結合されます。
Self Join構文
SELECT <em>column_name(s)</em>
FROM <em>table1 T1, table1 T2</em>
WHERE <em>condition</em>;
*T1*と*T2*同じテーブルの異なるテーブルエイリアスです。
デモデータベース
このチュートリアルでは、よく知られているNorthwindサンプルデータベースを使用します。
以下は、「顧客」テーブルからの選択です。
顧客ID |
顧客名 |
連絡先 |
住所 |
街 |
郵便番号 |
国 |
---|---|---|---|---|---|---|
1 |
アルフレッド・フードボックス | マリア・アンダース | オベレ通り57 | ベルリン | 12209 | ドイツ |
2 | アナ・トルヒーヨ サンドイッチとアイスクリーム | アナ・トルヒーヨ | コンスティトゥシオン通り2222番地 | メキシコDF | 05021 | メキシコ |
3 | アントニオ・モレノ・タケリア | アンソニー・モレノ | マタデロス 2312 | メキシコDF | 05023 | メキシコ |
SQL Self Joinの例
次のSQLステートメントは、同じ都市の顧客に一致します。
例
SELECT A.CustomerName AS CustomerName1, B.CustomerName AS CustomerName2, A.City
FROM Customers A, Customers B
WHERE A.CustomerID <> B.CustomerID
AND A.City = B.City
ORDER BY A.City;
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。