SQL LEFT JOIN (日本語)
SQLのLEFTJOINとは何ですか。
LEFT JOINは、最初の(左端の)テーブルから開始して結合を実行します。
次に、2番目のテーブル(右端)の一致するレコードが含まれます。
LEFTJOINとLEFTOUTERJOINは同じです。
SQL LEFTJOIN構文
一般的なLEFTJOIN構文は
SELECT column-names FROM table-name1 LEFT JOIN table-name2 ON column-name1 = column-name2 WHERE condition
一般的なLEFTOUTERJOIN構文は
SELECT column-names FROM table-name1 LEFT OUTER JOIN table-name2 ON column-name1 = column-name2 WHERE condition
Id
OrderDate
OrderNumber
CustomerId
TotalAmount
Id
FirstName
LastName
都市
国
電話
SQL LEFTJOINの例
問題:すべての顧客と、
注文したかどうかに関係なく
費やした合計金額を一覧表示します。
注文したかどうかに関係なく
費やした合計金額を一覧表示します。
SELECT OrderNumber, TotalAmount, FirstName, LastName, City, Country FROM Customer C LEFT JOIN O ON O.CustomerId = C.Id ORDER BY TotalAmount
注:ORDER BY TotalAmountは、最初に注文がない顧客を示します(つまり、 TotalMountはNULLです。
結果:832レコード
OrderNumber | TotalAmount | FirstName | LastName | City | Country |
---|---|---|---|---|---|
NULL | NULL | Diego | Roel | Madrid | スペイン |
NULL | NULL | マリー | ベルトラン | パリ | フランス |
542912 | 12.50 | パトリシオ | シンプソン | ブエノスアイレス | アルゼンチン |
542937 | 18.40 | パオロ | アコルティ | トリノ | イタリア |
542897 | 28.00 | Pascale | Cartrain | Charleroi | Belgium |
542716 | 28.00 | マウリツィオ | モロニ | レッジョエミリア | イタリア |
543028 | 30.00 | Yvon ne | モンカダ | ブエノスアイレス | アルゼンチン |
543013 | 36.00 | フラン | ウィルソン | ポートランド | 米国 |