TOP

SQL レッスン 10. テーブルの結合 (INNER JOIN)

SQL 言語の最も強力な機能は、クエリの実行中に DBMS の RAM 内の異なるテーブルを結合できることです。結合はデータ分析によく使用されます。原則として、データは異なるテーブルに存在するため、(情報が重複しないため) より効率的にデータを保存でき、データ処理が簡素化され、データベースの拡張が可能になります (追加情報を含む新しいテーブルを追加することが可能です)。 。

DBMS MS Access で使用されるデータベース テーブルはリレーショナル テーブルです。つまり、すべてのテーブルは共通フィールドによって相互に接続できます。


1. テーブルの組み合わせ(JOINS)の作成

テーブルを結合する手順は非常に簡単です。組み合わせに含まれるすべてのテーブルを指定し、それらが相互にどのように関連するかを DBMS に「説明」する必要があります。接続は、WHERE という単語を使用して行われます。例:

Run SQLSELECT DISTINCT Seller_name, Product 
FROM Sellers, Sumproduct 
WHERE Sellers.City = Sumproduct.City

2 つのテーブルを組み合わせることで、各販売者がどの製品を販売しているかを確認することができました。通常のリクエストとは少し異なるので、リクエストコードを詳しく見てみましょう。 SELECT ステートメントは、出力する列を指定することから始まりますが、これらのフィールドは別のテーブルにあり、FROM 句には、SELECT ステートメントで結合する 2 つのテーブルが含まれており、テーブルは列を指定する WHERE ワードを使用して結合されます。参加する。フィールド City は両方のテーブルにあるため、フィールドの完全な名前 (Table.Field) を指定する必要があります。

2. 内部結合(INNER JOIN)

前の例では、単語 WHERE を使用してテーブルを結合し、2 つのテーブルの等価性に基づいてチェックを実行しました。このような組み合わせを「内組み合わせ」とも呼びます。組み合わせの種類を明確に示す、テーブルを組み合わせる別の方法もあります。次の例を考えてみましょう。

Run SQLSELECT DISTINCT Seller_name, Product 
FROM Sellers 
INNER JOIN Sumproduct 
ON Sellers.City = Sumproduct.City

このクエリでは、WHERE の代わりに、構築 INNER JOIN ... ON ... を使用しました。これにより、同様の結果が得られました。 WHERE 句との組み合わせは短くなりますが、次のセクションで詳しく説明するように、柔軟性が高いため、INNER JOIN を使用することをお勧めします。