oracle sql中的join关键字和inner join关键字之间有什么区别? [英] what is the difference between join keyword and inner join keyword in oracle sql?
问题描述
我找不到关键词join
上的文档,但是我在网上看到了使用它的示例.
I can't find documentations on the key word join
but I saw examples on the web using it.
我正在Oracle hr
模式中进行一些实验,其中有表departments
:
I was doing some experiment with it in Oracle hr
schema, where I have table departments
:
-
deparment_name
-
manager_id
-
location_id
deparment_name
manager_id
location_id
表employees
:
-
first_name
-
employee_id
first_name
employee_id
和表locations
:
-
location_id
-
city
location_id
city
查询应返回部门名称,部门经理的名字以及部门所在的城市.
Query should return the department_name, first_name of the manager of the department, and the city where the department is located.
与使用关键字inner join
带有join
的代码:
select d.department_name, e.first_name,l.city
from departments d
join employees e on d.manager_id=e.employee_id
join locations l on d.location_id=l.location_id
带有inner join
的代码:
select d.department_name, e.first_name,l.city
from departments d
inner join employees e on d.manager_id=e.employee_id
inner join locations l on d.location_id=l.location_id
这两个条件之间是否存在差异,还是我偶然发现了它们返回相同结果的情况?
Is there a difference between the two condition, or am I just happen to stumble on a situation where they return the same results?
推荐答案
- 按照1992 ANSI SQL参考, INNER是可选的 :
- Following 1992 ANSI SQL reference, INNER is optional:
- 遵循Oracle Standards( 9i及更高版本),
INNER
前缀也是可选的.在9i之前,Oracle不遵循ANSI规则,甚至不支持JOIN
语法. - Following Oracle Standards (9i onward), the
INNER
prefix is also optional. Before 9i, Oracle didn't follow ANSI rules, and didn't even supportJOIN
syntax.
查询表达式179 7.5-联接表
Query expressions 179 7.5 - joined table
3)如果指定了合格的连接,但未指定连接类型 指定,则INNER是隐式的.
3) If a qualified join is specified and a join type is not specified, then INNER is implicit.
这篇关于oracle sql中的join关键字和inner join关键字之间有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!