SQL LEFTは、キーワードを登録しよう
LEFTは右の表(表2)内の一致する行を持つキーワード戻り、左の表からすべての行(TABLE1)を、JOIN。 一致するものがないとき、結果は右側にNULLです。
SQL LEFT JOIN構文
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name ;
または:
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name = table2.column_name ;
PS! 左結合いくつかのデータベースでは左外部結合と呼ばれています。
デモデータベース
このチュートリアルでは、よく知られているNorthwindサンプルデータベースを使用します。
下からの選択である"Customers"テーブルには:
顧客ID | 顧客名 | 連絡先 | 住所 | シティ | 郵便番号 | 国 |
---|---|---|---|---|---|---|
1 |
Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Avda. de la Constitucion 2222 | Mexico D.F. | 05021 | Mexico |
3 | Antonio Moreno Taqueria | Antonio Moreno | Mataderos 2312 | Mexico D.F. | 05023 | Mexico |
以下とから選択"Orders"テーブル:
受注 | 顧客ID | 従業員ID | 注文日 | ShipperID |
---|---|---|---|---|
10308 | 2 | 7 | 1996-09-18 | 3 |
10309 | 37 | 3 | 1996-09-19 | 1 |
10310 | 77 | 8 | 1996-09-20 | 2 |
SQL LEFT例を登録しよう
次のSQL文は、すべての顧客を返し、彼らが持っている可能性のあるすべての注文になります。
例
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
»それを自分で試してみてください 注意:LEFTは、キーワードが右側のテーブル(受注)で一致するデータが存在しない場合でも、左の表(お客様)からすべての行を返すJOIN。