oracle sql中join关键字和inner join关键字有什么区别? [英] what is the difference between join keyword and inner join keyword in oracle sql?

查看:149
本文介绍了oracle sql中join关键字和inner join关键字有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我找不到关于关键字 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

employees:

  • first_name
  • employee_id

和表locations:

  • 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

带有内连接的代码:

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 是可选的:
  • 查询表达式 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 标准(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 support JOIN syntax.
      • 这篇关于oracle sql中join关键字和inner join关键字有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆