共通のフィールドで一致する値があるたびに、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, ProductNameFROM Categories INNER JOIN ProductsON Categories.CategoryID = Products.CategoryID;

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

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

SELECT fieldsFROM table1 INNER JOIN table2ON table1.field1compoprtable2.field1 ANDON table1.field2compoprtable2.field2) ORON table1.field3compoprtable2.field3)];

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

SELECT fieldsFROM 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 の入れ子にすることはできません。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。