自己結合の使用
自己結合を使用すると、テーブルをそのテーブル自体に結合できます。たとえば、自己結合を使用すると、複数のベンダから提供されている製品を検索できます。
次のクエリでは、ProductVendor
テーブルの自己結合を使用しているため、ProductVendor
テーブルは 2 つのロールで使用されることになります。これらのロールを区別するために、FROM 句では、ProductVendor
テーブルに 2 つの異なる別名 (pv1
および pv2
) を指定します。これらの別名は、このクエリの後続の部分で列名を修飾する際に使用します。次に、自己結合の Transact-SQL ステートメントの例を示します。
USE AdventureWorks;
GO
SELECT DISTINCT pv1.ProductID, pv1.VendorID
FROM Purchasing.ProductVendor pv1
INNER JOIN Purchasing.ProductVendor pv2
ON pv1.ProductID = pv2.ProductID
AND pv1.VendorID <> pv2.VendorID
ORDER BY pv1.ProductID
WHERE (Transact-SQL)
SELECT (Transact-SQL)
演算子 (Transact-SQL)
SELECT の例 (Transact-SQL)