SQL Server INNER JOIN语法的区别?

时间:2013-11-18 21:08:15

标签: sql sql-server

我来自Postgres / MySQL世界,所以我想知道SQL服务器中这两个查询之间是否存在差异:

SELECT e.employee_id, s.salary
FROM employees e INNER JOIN salaries s
ON e.employee_id = s.employee_id


SELECT e.employee_id, s.salary
FROM employees e, salaries s
WHERE e.employee_id = s.employee_id

4 个答案:

答案 0 :(得分:3)

SQL-92引入了新的连接语法,SQL Server(至少早在SQL Server 2000)和大多数其他DBMS支持这些语法。性能方面,它们是等效的,但通常我建议新的SQL-92语法用于新代码。

答案 1 :(得分:1)

两者之间没有功能差异。后者(称为隐式连接)被认为是过时的,并且通常不赞成。

答案 2 :(得分:1)

这些应该做同样的事情。第一个是首选语法,因为它是一个显式连接,可以使您的代码更容易阅读!

答案 3 :(得分:0)

像Michael Berkowski所说,结果是一样的。第二个是较旧的方法