连接条件和条件之间的差异

时间:2010-10-22 01:59:55

标签: sql sql-server

有人告诉我两个查询之间的区别是什么:

版本A

select p.LastName, o.OrderNo  
  from Persons p, Orders o  
 where p.P_Id = o.P_Id

...和...

版本B

select p.LastName, o.OrderNo  
  from Persons p 
  join Orders o on p.P_Id = o.P_Id

2 个答案:

答案 0 :(得分:7)

两者都使用INNER JOIN来组合PERSONS和ORDERS表之间的记录。版本A是ANSI-89语法,版本B是ANSI-92语法。

它们之间没有性能差异,但ANSI-92语法支持OUTER JOIN(LEFT,RIGHT和FULL,具体取决于数据库),而ANSI-89则不支持。

答案 1 :(得分:0)

假设“join”是“内部联接”的简写语法,我认为没有区别。