SQL Server多表查询:连接类型与算法详解
1. 半连接和反半连接
在多表查询中,半连接和反半连接是两种特殊的连接类型。
- 半连接 :通常,连接操作会匹配两个表中的行,并返回两侧的元素。而半连接只返回一侧的元素,根据返回元素的表是左侧还是右侧,可分为左半连接和右半连接。例如,要返回下过订单的客户的客户ID和公司名称,只从
Customers表返回信息,前提是在Orders表中找到匹配的行,这就是一个左半连接。实现该任务有多种方法:- 使用内连接并应用
DISTINCT子句去除重复的客户信息:
- 使用内连接并应用
SELECT DISTINCT C.custid, C.companyname
FROM Sales.Customers AS C
INNER JOIN Sales.Orders AS O
ON O.custid = C.custid;
- 使用`EXISTS`谓词:
SELECT custid, companyname
FROM Sales.Customers AS C
WHERE EXISTS(SELECT *
FROM Sales.Orders AS O
WHERE O.custid = C.custi
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



