书中给出的相关子查询的示例如下;
2007年2月12日下订单的客户
SELECT custid, companyname
FROM Sales.Customers AS C
WHERE EXISTS
(SELECT *
FROM Sales.Orders AS O
WHERE O.custid = C.custid
AND O.orderdate = '20070212');
但是,我使用简单的子查询
为相同的目的编写了以下代码SELECT custid, companyname
FROM Sales.Customers
WHERE custid IN
(SELECT [custid] FROM [Sales].[Orders]
WHERE [orderdate] ='20070212')
两者都提供相同的输出。哪种方法更好?为什么?我不明白在第一组代码中使用EXISTS