oracle sql中join关键字和内连接关键字有什么区别?

what is the difference between join keyword and inner join keyword in oracle sql?

本问题已经有最佳答案,请猛点这里访问。

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

我在Oracle hr模式中做了一些实验,在这里我有表departments

  • 埃多克斯1〔3〕
  • 江户十一〔四〕号
  • 埃多克斯1〔5〕

employees

  • 江户十一〔七〕号
  • 埃多克斯1〔8〕

locations

  • 埃多克斯1〔5〕
  • 江户十一〔11〕。

查询应返回部门名称、部门经理的名字以及部门所在城市。

与使用关键字inner join相比,使用关键字join的代码似乎返回了一些结果。

join的代码:

1
2
3
4
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的代码:

1
2
3
4
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参考,内部是可选的:

Query expressions 179 7.5 - joined table

3) If a qualified join is specified and a join type is not
specified, then INNER is implicit.

  • 根据Oracle标准(9i以后),INNER前缀也是可选的。在9i之前,Oracle没有遵循ansi规则,甚至不支持JOIN语法。