SQL ジョイン

SQL ジョイン

JOIN 句は、関連する列を基に、2 つ以上のテーブルから行を結合するために使用されます。

“Orders” テーブルから選択された一部を見てみましょう:

OrderID CustomerID OrderDate
10308 2 1996-09-18
10309 37 1996-09-19
10310 77 1996-09-20

次に、”Customers” テーブルから選択された一部を見てみましょう:

CustomerID CustomerName ContactName Country
1 Alfreds Futterkiste Maria Anders Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Mexico
3 Antonio Moreno Taquería Antonio Moreno Mexico

“Orders” テーブルの “CustomerID” 列が “Customers” テーブルの “CustomerID” 列を参照していることに注意してください。上記の 2 つのテーブルの関係性は “CustomerID” 列です。

次に、以下の SQL 文(INNER JOIN を含む)を作成できます。この SQL 文は、両方のテーブルで一致する値を持つレコードを選択します:

SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;

この SQL 文は次のような結果を生成します:

OrderID CustomerName OrderDate
10308 Ana Trujillo Emparedados y helados 9/18/1996
10365 Antonio Moreno Taquería 11/27/1996
10383 Around the Horn 12/16/1996
10355 Around the Horn 11/15/1996
10278 Berglunds snabbköp 8/12/1996

異なる種類の SQL JOIN

以下は SQL における異なる種類の JOIN の説明です:

  • (INNER) JOIN: 両方のテーブルで一致するレコードを返します。
  • LEFT (OUTER) JOIN: 左側のテーブルのすべてのレコードと、右側のテーブルから一致するレコードを返します。
  • RIGHT (OUTER) JOIN: 右側のテーブルのすべてのレコードと、左側のテーブルから一致するレコードを返します。
  • FULL (OUTER) JOIN: 左右のどちらかのテーブルで一致するレコードすべてを返します。