我們有一個名爲productID的表,其中productID爲主鍵。然後我們有一個名爲productProcess的表,其中存儲了productID和processID。所以現在我們要搜索productProcess表中沒有實例的所有productID。目前,我們首先運行兩個查詢所有產品,其次是productProcess的productID,並選擇不存在的產品ID。有沒有其他的機制呢?Mysql查詢效率
-3
A
回答
2
是的,有。使用LEFT JOIN
SELECT a.* // this will get all columns from product table.
FROM product a
LEFT JOIN productProcess b
ON a.productID = b.productID
WHERE b.productID IS NULL
爲了進一步獲得更多的知識有關加入,請訪問以下鏈接:
另一個提示,使若快速呃是爲表productProcess
設置一個外鍵productID
。
2
假設product.productID 不能爲空:
SELECT product.productID
FROM product
LEFT JOIN productProcess
ON productProcess.productID = product.productID
WHERE productProcess.productID IS NULL
另一種選擇是WHERE NOT EXIST
:
SELECT product.productID
FROM product
WHERE NOT EXISTS (
SELECT productID FROM productProcess
WHERE productProcess.productID = product.productId
)
1
您可以使用左連接。 如果您可以使用左連接,則結果將是所有與產品和產品流程有關的產品。
SELECT p.*
FROM (product p LEFT JOIN productProcess pp ON a.productID = b.productID)
WHERE pp.productID IS NULL
相關問題
- 1. Mysql查詢效率
- 2. MySQL查詢效率建議
- 3. 構建MySQL查詢效率
- 4. MySQL子查詢效率
- 5. 與MySQL查詢(效率)
- 6. 查詢效率
- 7. 查詢效率
- 8. 查詢效率
- 9. 我的mySQL查詢效率如何?
- 10. 提高MySQL更新查詢效率
- 11. 查詢效率。載
- 12. SQL查詢效率
- 13. SQL查詢效率
- 14. MYSQL多個查詢或單個查詢 - 哪個更有效率
- 15. 增加linq查詢效率
- 16. 查詢緩存效率
- 17. 更新查詢效率
- 18. C#/ SQL效率查詢
- 19. 查詢效率(多選)
- 20. 查詢效率 - 計數
- 21. C#Mongo查詢效率
- 22. Postgres查詢效率低下
- 23. MySQL比查詢優化和總體效率更高效MySQL火花
- 24. 查詢查詢的Django __in查詢效率
- 25. 比使用大量LIKE查詢效率更高mysql
- 26. MySQL選擇查詢中子選擇的效率
- 27. MySQL查詢優化 - 提高速度和效率
- 28. MySQL:對列索引過長的查詢效率過高
- 29. MySQL:提高子選擇查詢的效率
- 30. 如何在mysql查詢中使用索引效率
我有這張表,我有那張表,但哪裏的查詢必須優化? – 2013-03-10 16:57:50
是的。你有什麼嘗試? – SJuan76 2013-03-10 16:58:29
我首先從tblProduct中選擇productId。然後我嘗試從tblProductProcess中選擇不同的productID。然後我比較兩者並選擇那些productID在第二個查詢中不存在。 – biz14 2013-03-10 17:03:25