TOP

SQL LEFT JOIN

SQL LEFT JOIN 説明

キーワード LEFT JOIN は、左側のテーブル (table1) のすべてのレコードと、右側のテーブル (table2) の対応するレコードを返します。

一致しない場合、結果は右側のエントリが 0 になります。


LEFT JOIN 構文

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name
一部のデータベースでは、LEFT JOIN は LEFT OUTER JOIN と呼ばれます。

SQL INNER JOIN

デモデータベース

このチュートリアルでは、有名なサンプル データベース「Northwind」を使用します。

以下はテーブル「Customers」(「顧客」) のサンプルです。

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.5021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.5023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

テーブル "Orders" ("Orders") のサンプル:

ProductIDOrderIDCustomerIDEmployeeIDOrderDateShipperID
1102489051996-07-043
2102498161996-07-051
3102503441996-07-082
4102518431996-07-081
5102527641996-07-092

SQL LEFT JOIN の例

次の SQL ステートメントは、すべての顧客とその顧客の注文を選択します。

Run SQLSELECT Customers.CustomerName, Orders.OrderID 
FROM Customers 
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID 
ORDER BY Customers.CustomerName
LEFT JOIN キーワードは、右側のテーブル (注文) に一致するレコードがない場合でも、左側のテーブル (顧客) のすべてのレコードを返します。