假设有适当的表格 - 两个查询之间有什么区别 - 它们什么时候会返回不同的结果
select * from quiz_user qu join quiz_topic qt on qu.quiz_id = qt.quiz_id and qt.topic_id=44 where qu.user_id=9 select * from quiz_user qu join quiz_topic qt on qu.quiz_id = qt.quiz_id where qu.user_id=9 and qt.topic_id=44
由于
答案 0 :(得分:3)
我认为查询没有任何区别。但是,如果您使用LEFT JOIN
代替INNER
(默认),则结果会有所不同。
答案 1 :(得分:2)
无,但第二个代码的意图更清晰,JOIN仅用于反映数据关系,而不是用于过滤。
在第一个代码的JOIN上,似乎数字44与quiz_topic与quiz_user的关系有影响