22、SQL Server多表查询:连接类型与算法详解

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
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值