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