有人告诉我两个查询之间的区别是什么:
select p.LastName, o.OrderNo
from Persons p, Orders o
where p.P_Id = o.P_Id
...和...
select p.LastName, o.OrderNo
from Persons p
join Orders o on p.P_Id = o.P_Id
答案 0 :(得分:7)
两者都使用INNER JOIN来组合PERSONS和ORDERS表之间的记录。版本A是ANSI-89语法,版本B是ANSI-92语法。
它们之间没有性能差异,但ANSI-92语法支持OUTER JOIN(LEFT,RIGHT和FULL,具体取决于数据库),而ANSI-89则不支持。
答案 1 :(得分:0)
假设“join”是“内部联接”的简写语法,我认为没有区别。