这些SQL查询是否相同 - 如果不是这些差异

时间:2012-05-12 11:23:32

标签: mysql sql

假设有适当的表格 - 两个查询之间有什么区别 - 它们什么时候会返回不同的结果

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

由于

2 个答案:

答案 0 :(得分:3)

我认为查询没有任何区别。但是,如果您使用LEFT JOIN代替INNER(默认),则结果会有所不同。

答案 1 :(得分:2)

无,但第二个代码的意图更清晰,JOIN仅用于反映数据关系,而不是用于过滤。

在第一个代码的JOIN上,似乎数字44与quiz_topic与quiz_user的关系有影响