我有一個web應用程序我試圖分析和優化,最後一件事之一是修復這個慢運行功能。我不是任何SQL專家,但是知道在一步SQL查詢中執行此操作的速度要比我現在執行的操作要快得多,包括多個查詢,排序和循環遍歷。SELECT語句跨2表
問題基本上是這樣的 - 我想從UserData對象表示的「用戶」表中的數據行,在給定一輪的「出價」表中沒有該用戶的條目。換句話說,我的數據庫中的哪些出價者尚未提交出價。
在SQL僞代碼,這將是
SELECT * FROM users WHERE users.role='BIDDER' AND
users.user_id CANNOT BE FOUND IN bids.user_id WHERE ROUND=?
(顯然,這不是有效的SQL,但我不知道SQL足夠好,把它連同正常)。
謝謝!
唯一剩下的就是添加ROUND =? ON條款 – Fabian
當然費邊!他的問題的這一部分並不清楚,所以爲了清晰起見,我將其刪除了! – Dave
呵呵,是的,這個問題確實不是很清楚;)但是對於原來的海報:請把它放到ON子句中,它不會在WHERE子句中起作用 – Fabian