SQL 結合
SQL結合
JOIN
句は、2つ以上のテーブルから、関連するカラムに基づいて行を結合するために使用されます。
"Orders"テーブルからの選択を見てみましょう。
オーダーID |
顧客ID |
注文日 |
---|---|---|
10308 | 2 | 1996-09-18 |
10309 | 37 | 1996-09-19 |
10310 | 77 | 1996-09-20 |
次に、「Customers」テーブルからの選択を見てください。
顧客ID |
顧客名 |
連絡先 |
国 |
---|---|---|---|
1 | アルフレッド・フードボックス | マリア・アンダース | ドイツ |
2 | アナ・トルヒーヨ サンドイッチとアイスクリーム | アナ・トルヒーヨ | メキシコ |
3 | アントニオ・モレノ・タケリア | アンソニー・モレノ | メキシコ |
「Orders」テーブルの「CustomerID」列は、「Customers」テーブルの「CustomerID」を参照していることに注意してください。上記の2つのテーブルの関係は、"CustomerID"列です。
次に、次のSQLステートメントを作成できます (これには、INNER JOIN
)、両方のテーブルで一致する値を持つレコードを選択します。
例
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
次のようなものが生成されます。
オーダーID |
顧客名 |
注文日 |
---|---|---|
10308 | アナ・トルヒーヨ サンドイッチとアイスクリーム | 1996/9/18 |
10365 | アントニオ・モレノ・タケリア | 1996/11/27 |
10383 | アラウンド・ザ・ホーン | 1996/12/16 |
10355 | アラウンド・ザ・ホーン | 1996/11/15 |
10278 | バーグルンドのスーパーマーケット | 1996/8/12 |
さまざまなタイプのSQL JOIN
SQLのJOINのさまざまなタイプを次に示します。
(INNER) JOIN
: 両方のテーブルで値が一致するレコードを返します。LEFT (OUTER) JOIN
: 左のテーブルからすべてのレコードを、右のテーブルからマッチしたレコードを返します。RIGHT (OUTER) JOIN
: 右のテーブルからすべてのレコードを、左のテーブルからマッチしたレコードを返します。FULL (OUTER) JOIN
: 左テーブルまたは右テーブルのいずれかに一致するレコードがある場合、すべてのレコードを返します。
プログラミング学習を加速させる
プログラミングをプロの講師に教えてもらいませんか。