这两个查询是否相同?
查询#1
select
e.last_name, e.first_name, d.department_name, l.city
from
employees e
inner
join departments d on e.department_id = d.department_id
inner join
locations l on d.location_id = l.location_id;
查询#2
select
e.last_name, e.first_name, d.department_name, l.city
from
employees e, departments d, locations l
where
e.department_id = d.department_id
AND d.location_id = l.location_id;
答案 0 :(得分:0)
这两个查询可能会返回相同的数据 - 但#2查询使用以逗号分隔的表列表的旧的,已弃用的样式。不要这样做 - 改为使用查询#1的正确的 ANSI JOIN语法。
以逗号分隔的表样式列表已替换为 ANSI-92 SQL标准中的正确ANSI JOIN语法(超过 20年前)及其使用气馁。坚持查询#1风格。