SQL多表查询:APPLY 操作符与连接类型详解
在 SQL 查询中,多表查询是一项常见且重要的任务,它能帮助我们从多个表中提取和组合数据。本文将详细介绍 APPLY 操作符的不同类型,以及常见的连接类型,包括交叉连接、内连接等,并通过具体示例展示它们的使用方法和优势。
1. APPLY 操作符
APPLY 操作符是 SQL 中一个强大的工具,它有多种形式,包括 CROSS APPLY、OUTER APPLY 和隐式 APPLY。
1.1 OUTER APPLY 操作符
CROSS APPLY 操作符与内连接类似,会丢弃左表中在右表没有匹配的行。而 OUTER APPLY 操作符则类似于左外连接,会保留左表的所有行,对于右表中没有匹配的行,使用 NULL 作为占位符。
例如,我们有一个查询,原本使用 CROSS APPLY 操作符:
SELECT C.custid, A.orderid, A.orderdate, A.empid
FROM Sales.Customers AS C
CROSS APPLY dbo.GetTopOrders( C.custid, 3 ) AS A;
这个查询会丢弃没有下订单的客户。如果我们想保留所有客户,可以将 CROSS APPLY 替换为 OUTER APPLY:
SELECT C.custid, A.orderid, A.orderdate, A.empid
FROM Sales.Customers AS C
超级会员免费看
订阅专栏 解锁全文
734

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



