INNER JOIN 操作

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

構文

FROM table1 INNER JOIN table2 ON table1.field1compopr table2.field2

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 ステートメントに含まれていないため、クエリ出力には含まれません。結合フィールドを含めるには、フォールド名 (この場合は Categories.CategoryID) を SELECT ステートメントに含めます。

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

SELECT fields
FROM table1 INNER JOIN table2
ON table1.field1compoprtable2.field1 AND
ON table1.field2compoprtable2.field2) OR
ON table1.field3compoprtable2.field3)];

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

SELECT fields
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3.field3compoprtablex.fieldx)]
ON table2.field2compoprtable3.field3)
ON table1.field1compoprtable2.field2;

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



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

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

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

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

×