oracle sql中的联接关键字和内部联接关键字有什么区别?

oracle sql中的联接关键字和内部联接关键字有什么区别?,sql,oracle,join,inner-join,Sql,Oracle,Join,Inner Join,我在关键字join上找不到文档,但我在网上看到了使用它的例子 我在Oraclehrschema中做了一些实验,其中有表departments: 部门名称 manager\u id location\u id 表员工: 名字 employee\u id 和表位置: location\u id 城市 查询应返回部门名称、部门经理的姓名以及部门所在城市 使用关键字join的代码与使用关键字internaljoin 与连接的代码: select d.department_name, e.fi

我在关键字
join
上找不到文档,但我在网上看到了使用它的例子

我在Oracle
hr
schema中做了一些实验,其中有表
departments

  • 部门名称
  • manager\u id
  • location\u id
员工

  • 名字
  • employee\u id
和表
位置

  • location\u id
  • 城市
查询应返回部门名称、部门经理的姓名以及部门所在城市

使用关键字
join
的代码与使用关键字
internaljoin

连接的代码

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
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
带有内部联接的代码

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
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
这两种情况之间是否存在差异,或者我只是碰巧遇到了一种情况,它们返回相同的结果?

  • 以下是1992年ANSI SQL参考:
查询表达式179 7.5-联接表

3) 如果指定了限定联接,但未指定联接类型 指定,则内部是隐式的

  • 按照Oracle标准(9i以后的),
    内部
    前缀也是可选的。在9i之前,Oracle不遵循ANSI规则,甚至不支持
    JOIN
    语法

之前问过并回答:这不是你帖子上的批评。这表明以前有人问过这个问题,而且有一个高质量的答案。@xQbert:与oracle无关though@xQbert:那么?这个答案是基于什么?oracle是否必须像sql server那样行事?您想参考一个通用问题-查找一个关于ANSI的问题SQL@Community:引用的问题不是重复的,它是关于另一个RDBMS的,该RDBMS的行为不被认为是类似的。@xQbert:他的答案(尽管很短,没有任何基于文档的证据)是对特定问题的特定答案。您的参考-是关于另一个RDBMS的问题。如果你两个都不知道,你就不能说,你是否可以遵循它。