Rumah > pangkalan data > tutorial mysql > Oracle 11g R1(11.1)连接子句(join_clause)

Oracle 11g R1(11.1)连接子句(join_clause)

WBOY
Lepaskan: 2016-06-07 17:15:13
asal
1037 orang telah melayarinya

Oracle 11g R1(11.1) 连接子句(join_clause)使用适当的连接子句(join_clause)可以获得连接数据的一部分。使用 inner_cross_j

本文的重点是“连接子句(join_clause)”,而不是表连接本身。

本文内容

  • 本文使用的表和其数据
  • Oracle 11g R1(11.1) 连接子句(join_clause)
  •     内连接(Inner Joins)
  •     交叉连接(Cross Joins)
  •     外连接(Outer Joins)
  •     自然连接(Natural Joins)
  • 参考资料  
  • 本文使用的表和其数据
  • 部门表DEPT
  • 员工表 EMP
  • 员工表 EMP

     

    Oracle 11g R1(11.1) 连接子句(join_clause)

    使用适当的连接子句(join_clause)可以获得连接数据的一部分。

    使用 inner_cross_join_clause 语法可以指定一个内连接(inner joins)或交叉连接(cross joins);使用 outer_join_clause 语法可以指定一个外连接。

    当要连接更多的表时,可以使用括号来覆盖默认的优先级,,如下面语法:

    SELECT ... FROM a JOIN (b JOIN c) ...

    说明:该 SQL 会先连接 b 和 c,然后,将结果再与 a 连接。

      内连接(Inner Joins)

    “内连接”只返回满足连接条件的行。

    INNER 关键字 显示指定一个内连接。

    JOIN  关键字 显示说明将执行一个连接。使用该语法可以代替 FROM 子句连接语法,即在 FROM 子句用逗号分隔“表”的表达式,而在 WHERE 子句写连接条件。

    ON 条件 使用 ON 子句指定连接条件。该连接条件独立于任何检索,或是 WHERE 子句中的过滤条件。即若要参照非同名的列进行等值连接,或想设置任意的连接条件,可以使用 ON 子句。

    示例1:

    emp.empno

    执行结果:

    3

    说明:

  • EMP 表共有14个员工,其中3个员工没有部门。因此,结果只包含有所属部门的员工,没有无部门的员工。
  • USING (字段名)  当你要指定一个列的等值连接,且这个列是两个表共有的,那么,可以在 USING column 子句指定该列。只有两个表具有相同列时,才能使用这个子句。该子句,当内连接中的列时,不会用表名或表别名验证列名。

    示例2:

    emp.empno

    结果与示例 1 相同。

    linux

    sumber:php.cn
    Kenyataan Laman Web ini
    Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan