我正在用2個派生表(或者你可以稱之爲子查詢)和WHERE子句來寫一個查詢來篩選,但我不知道在哪裏我應該放置WHERE子句來優化性能。請看下面的例子: (我肯定知道這是一個愚蠢的例子,但它可以幫助來形容我的問題)我應該把WHERE子句放在子查詢中(派生表)嗎
SELECT *
FROM
(SELECT id FROM A) A
JOIN
(SELECT id FROM B) B
ON A.id = B.id
WHERE A.id = 1
VS
SELECT *
FROM
(SELECT id FROM A
WHERE A.id = 1
) A
JOIN
(SELECT id FROM B
WHERE B.id = 1
) B
ON A.id = B.id
從性能的角度來看,它的問題在哪裏放置WHERE子句? 我的數據庫太小了,所以在測試查詢時我沒有看到任何區別。 謝謝。
什麼阻止您從A.id = b.ID上的JOIN B做SELECT * WHERE A.Id = 1? – wentimo
那麼,第二個甚至沒有有效的語法 – Paparazzi
糾正了他。 – trincot