我想知道这两个查询在产生相同结果时有什么区别:
SELECT a.OrderID,
ProductID,
a.LastName
FROM [Order Details],
(SELECT Employees.EmployeeID,
OrderID,
LastName
FROM Employees,
Orders
WHERE Employees.EmployeeID = Orders.EmployeeID
AND LastName = 'Buchanan')a
WHERE [Order Details].OrderID = a.OrderID
和
SELECT Orders.OrderID,
ProductID,
LastName
FROM [Order Details],
Employees,
Orders
WHERE Orders.OrderID = [Order Details].OrderID
AND Orders.EmployeeID = Employees.EmployeeID
AND LastName = 'Buchanan'
第一个是嵌套连接查询,第二个是单个连接查询,但连接相同的三个表并产生相同的结果......
答案 0 :(得分:0)
联接将表现更好(几乎所有情况下)但子查询更容易理解和编写,尤其是对于SQL较新的人。对于小型数据集,您可能看不到任何差异,但随着您的设置上升,它将变为指数级。