LEFT JOIN 操作および RIGHT JOIN 操作

FROM 句の中で使用すると、ソース テーブルのレコードを結合します。

構文

FROM table1 [ LEFT | RIGHT ] JOIN table2
ON table1.field1compopr table2.field2

LEFT JOIN 操作と RIGHT JOIN 操作には、次の指定項目があります。

引数

説明

table1table2

結合するレコードのあるテーブルの名前。

field1field2

結合するフィールドの名前。両方のフィールドが同じデータ型で、格納されるデータが同じ種類である必要があります。ただし、同じ名前である必要はありません。

compopr

"="、"<"、">"、"<="、">="、"<>" などのリレーショナル比較演算子。


解説

左外部結合を作成するには、LEFT JOIN 操作を使用します。左外部結合では、結合する 2 つのテーブルのうち 2 番目 (右側) のテーブルに対応するレコードがなくても、1 番目 (左側) のテーブルのレコードがすべて追加されます。

右外部結合を作成するには、RIGHT JOIN 操作を使用します。右外部結合では、結合する 2 つのテーブルのうち 1 番目 (左側) のテーブルに対応するレコードがなくても、2 番目 (右側) のテーブルのレコードがすべて追加されます。

たとえば、Departments テーブル (左側) と Employees テーブル (右側) がある場合に、社員が配属されていない部署も含めたすべての部署を選択するには、LEFT JOIN 操作を使用します。どの部署にも所属しない社員も含めた全社員を選択するには、RIGHT JOIN 操作を使用します。

次の例では、Categories テーブルと Products テーブルを CategoryID フィールドで結合する方法を示しています。このクエリでは、商品がまったくない商品区分も含めて、すべての商品区分の一覧が出力されます。

SELECT CategoryName, ProductName FROM Categories LEFT JOIN Products ON Categories.CategoryID = Products.CategoryID;

この例では、CategoryID は結合フィールドですが、SELECT ステートメントで指定されていないため、クエリ結果には含まれません。結合フィールドを含めるには、フォールド名 (この場合は Categories.CategoryID) を SELECT ステートメントに指定します。

注: 

結合フィールドのデータが同じレコードのみを選択するクエリを作成するには、INNER JOIN 操作を使用します。

  • LEFT JOIN または RIGHT JOIN は、INNER JOIN の入れ子にすることができますが、INNER JOIN は LEFT JOIN または RIGHT JOIN の入れ子にすることはできません。結合を他の結合にネストする方法については、INNER JOIN 操作に関するページのネストの説明を参照してください

  • 複数の ON 句をリンクすることができます。詳細については、INNER JOIN 操作に関するページのリンクの説明を参照してください。

メモまたは OLE オブジェクトのデータを含むフィールドを結合しようとすると、エラーが発生します。



Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×