使用自联接

表可以通过自联接与自身联接。例如,可以使用自联接查找由多个供应商提供的产品。

由于此查询涉及 ProductVendor 表与其自身的联接,因此 ProductVendor 表将以两种角色出现。若要区分这两种角色,必须在 FROM 子句中为 ProductVendor 表给定两个不同的别名(pv1pv2)。这些别名用于限定查询其余部分中的列名。下面是自联接 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)

帮助和信息

获取 SQL Server 2005 帮助