twp*_*wpc 6 sql sql-server join
我需要查看所有订单的家庭.我根本不关心订单的数据,只是它存在.(使用SQL Server)
说这样的话更有效率:
SELECT HouseholdID, LastName, FirstName, Phone
FROM Households
INNER JOIN Orders ON Orders.HouseholdID = Households.HouseholdID
Run Code Online (Sandbox Code Playgroud)
或这个:
SELECT HouseholdID, LastName, FirstName, Phone
FROM Households
WHERE EXISTS
(SELECT HouseholdID
FROM Orders
WHERE Orders.HouseholdID = Households.HouseholdID)
Run Code Online (Sandbox Code Playgroud)
这 2 个查询不等价。如果有多个连接记录,第一个将返回多个结果。EXISTS 可能会更有效,尤其是在没有优化器可以使用的可信 FK 约束的情况下。
有关最后一点的更多详细信息,请参阅此处的第 9 点http://www.simple-talk.com/sql/t-sql-programming/13-things-you-should-know-about-statistics-and-the-query -优化器/
归档时间: |
|
查看次数: |
1322 次 |
最近记录: |