我们有一个名为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