SQLチュートリアル

SQL HOME SQLイントロ SQL構文 SQL Select SQL Select Distinct SQL Where SQL And、Or、Not SQLの順序 SQL Insert Into SQLNull値 SQLアップデート SQL削除 SQL Select Top SQLの最小値と最大値 SQLカウント、平均、合計 SQL Like SQLワイルドカード SQL入力 SQLの間 SQLエイリアス SQL結合 SQL内部結合 SQL左結合 SQL右結合 SQL完全結合 SQL自己結合 SQLユニオン SQL Group By SQLを持っている SQLが存在する SQL Any、All SQL Select Into SQL Insert Into Select SQLケース SQLNull関数 SQLストアドプロシージャ SQLコメント SQL演算子

SQLデータベース

SQL Create DB SQLドロップDB SQLバックアップDB SQLテーブルの作成 SQLドロップテーブル SQL ALTER TABLE SQLの制約 SQLはNullではありません SQL独自 SQL主キー SQL外部キー SQLチェック SQLのデフォルト SQLインデックス SQL自動インクリメント SQLの日付 SQLビュー SQLインジェクション SQLホスティング SQLデータ型

SQLリファレンス

SQLキーワード MySQL関数 SQLServerの機能 MSAccess関数 SQLクイック参照

SQLの

SQLの例 SQLクイズ SQL演習 SQL証明書

SQL結合


SQL JOIN

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

「注文」テーブルからの選択を見てみましょう。

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

次に、「顧客」テーブルからの選択を見てください。

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」列です。

INNER JOIN次に、両方のテーブルで値が一致するレコードを選択する次のSQLステートメント(を含む)を作成できます。

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

そしてそれはこのようなものを生み出すでしょう:

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

さまざまなタイプのSQLJOIN

SQLのさまざまなタイプのJOINは次のとおりです。

  • (INNER) JOIN:両方のテーブルで値が一致するレコードを返します
  • LEFT (OUTER) JOIN:左側のテーブルからすべてのレコードを返し、右側のテーブルから一致したレコードを返します
  • RIGHT (OUTER) JOIN:右側のテーブルからすべてのレコードを返し、左側のテーブルから一致したレコードを返します
  • FULL (OUTER) JOIN:左または右のテーブルのいずれかに一致する場合、すべてのレコードを返します

SQL内部結合  SQL LEFT JOIN  SQL RIGHT JOIN  SQL FULL OUTER JOIN


エクササイズで自分をテストする

エクササイズ:

句に欠落している部分を挿入して、2つのテーブルJOIN結合し、両方のテーブルのフィールドを2つのテーブル間の関係として使用します。OrdersCustomersCustomerID

SELECT *
FROM Orders
LEFT JOIN Customers
=
;