这两个SQL查询之间有什么区别?
查询#1:
select mytab.name, mytab.age, films.title, films.author
from films, mytab
where films.id = mytab.id;
查询#2:
select mytab.name, mytab.age, films.title, films.author
from films inner join mytab
on films.id = mytab.id;
首先是使用'where'语句的普通SQL查询。第二个是使用内连接。两个查询的结果完全相同。
films -> id, title author
mytab -> id, name, age
尽可能是最贫穷的例子。
答案 0 :(得分:2)
它们在逻辑上是等价的,并且会产生相同的结果。
第一种使用较旧的连接语法。
其次使用ANSI-92连接语法,并且是首选样式。
答案 1 :(得分:2)
两个查询都会产生相同的结果,但唯一的区别在于语法
第一个查询使用旧语法进行连接,您可以在WHERE
子句中描述关系。
2nd Query使用较新的ANSI语法,其中表之间的关系在ON
子句中定义。
虽然第二种语法是首选。
Read Here了解更多信息。