我還在學習SQL。我以兩種不同的方式完成了類似的查詢,並想知道哪個更好,爲什麼。哪些SQL查詢更好,爲什麼?
UPDATE R
SET R.something = 1
FROM Table1 R
JOIN Table2 U
ON R.value1 = U.value2
WHERE
U.value3 BETWEEN 1 AND 5
或
UPDATE R
SET R.something = 1
WHERE R.value1 IN
(SELECT U.value2
FROM U
WHERE
U.value3 BETWEEN 1 AND 5
)
你檢查過查詢執行計劃嗎? – Taryn 2012-07-09 15:40:12
太棒了!不知道執行計劃。從我可以看出,他們看起來完全平等。這似乎並不正確。 – John 2012-07-09 15:43:43
優化器優化:)如果統計信息/索引類似,則語法非常不同的兩個SQL語句看起來與數據庫引擎類似。 – 2012-07-09 15:45:49