这两条sql语句有啥区别[重复]

Posted

技术标签:

【中文标题】这两条sql语句有啥区别[重复]【英文标题】:what is the difference between these 2 sql statements [duplicate]这两条sql语句有什么区别[重复] 【发布时间】:2017-02-02 01:08:17 【问题描述】:
select s.id,s.name,e.sem from student as s, enroll as e where s.id = e.id;

select s.id,s.name,e.sem from student join enroll using (id);

所以这两个语句得到相同的结果,但有什么区别?有没有不一样的情况?

【问题讨论】:

什么都没有。他们决心做同样的事情。第一个是 where 子句中的旧式连接。呸。第二个是现代加入的简写形式……第二个可以让你不用输入on student.id=enroll.id s.id = e.id 与这里的join 相同。不同之处在于执行的查询的风格。正如@Drew 所说,第一个是老式的,另一个可以节省一些手指疼痛:D:p 感谢您的回答 两者之间存在细微差别,但并不显着。编写良好的程序不应依赖于这些差异。 【参考方案1】:

它们是一样的,一个是旧样式,另一个是节省时间和打字。

【讨论】:

以上是关于这两条sql语句有啥区别[重复]的主要内容,如果未能解决你的问题,请参考以下文章

将这两条 SQL 语句合二为一

如何将这两条 SQL 语句合并为一条?

plsql动态sql语句[重复]

存储过程和sql语句有啥区别

SQL 'select' 和 PL/SQL 'select' 语句有啥区别?

sql语句中嵌套时候用in 和=有啥区别