INNER JOIN 操作

適用先
Access for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

共通のフィールドで一致する値があるたびに、2 つのテーブルからレコードを結合します。

構文

FROM table1 INNER JOIN table2ON table1field1compopr table2Field2

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

引数 説明
table1table2 結合するレコードのあるテーブルの名前。
field1field2 結合されるフィールドの名前。 数値でない場合、フィールドは同じデータ型で、同じ種類のデータが含まれている必要がありますが、同じ名前を持つ必要はありません。
compopr 任意のリレーショナル比較演算子: "="、"<"、">"、"<="、">="、または "<>" です。

      

解説

INNER JOIN 操作は、任意の FROM 句で使用できます。 これは最も一般的な結合の種類です。 内部結合は 2 つのテーブルに共通するフィールドで一致する値があるたびに、両方のテーブルからレコードを結合します。

Departments テーブルと Employees テーブルで INNER JOIN を使用して、各部署のすべての従業員を選択できます。 一方、すべての部署 (従業員が割り当てられていない場合でも) またはすべての従業員 (部署に割り当てられていない部門がある場合でも) を選択するには、LEFT JOIN または RIGHT JOIN 操作を使用して外部結合を作成できます。

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

同様の型の 2 つの数値フィールドを結合することができます。 たとえば、AutoNumber フィールドと Long フィールドは同様の型なので結合できます。 しかし、Single 型と Double 型のフィールドを結合することはできません。

次の例では、Categories テーブルと Products テーブルを CategoryID フィールドで結合する方法を示しています。

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

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

次の構文を使用して、複数の ON 句を JOIN ステートメントでリンクすることもできます。

SELECT フィールド
FROM table1 INNER JOIN table2
ON table1field1compoprtable2field1 そして
ON table1field2compoprtable2field2)または
ON table1field3compoprtable2field3)];

次の構文を使用して、JOIN ステートメントを入れ子にすることもできます。

SELECT フィールド
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3field3compoprtablexfieldx)]
ON table2field2compoprtable3field3)
ON table1field1compoprtable2field2;

LEFT JOIN または RIGHT JOIN は、INNER JOIN の入れ子にすることができますが、INNER JOIN は LEFT JOIN または RIGHT JOIN の入れ子にすることはできません。