zoukankan      html  css  js  c++  java
  • Oracle 中的natural join (自然连接)

    虽然natural join(自然连接)实际上的用的比较少,但实际上这个连接是非常有用的,若能经常使用一下,实际上是非常方便的。

    自然连接是在两张表中寻找那些数据类型和列名都相同的字段,然后自动地将他们连接起来,并返回所有符合条件按的结果。

    来看一下自然连接的例子。

    Select emp.ename,dept.dname

    From emp natural join dept;

    这里我们并没有指定连接的条件,实际上oracle为我们自作主张的将,emp中的deptno和dept中的deptno做了连接。

    也就是实际上相当于

    Select emp.ename,dept.dname

    From emp join dept on emp.deptno = dept.deptno;

    因为这两张表的这两个字段deptno的类型个名称完全相同。所以使用natural join时被自然的连接在一起了。

    另外:

    1.如果做自然连接的两个表的有多个字段都满足有相同名称个类型,那么他们会被作为自然连接的条件。

    2.如果自然连接的两个表仅是字段名称相同,但数据类型不同,那么将会返回一个错误。

    3.由于oracle中可以进行这种非常简单的natural join,我们在设计表时,应该尽量在不同表中具有相同含义的字段使用相同的名字和数据类型。以方便以后使用natural join

    最后我们在前面举的例子都得到以下的结果:

    SQL> Select emp.ename,dept.dname

    2 From emp natural join dept;

    ENAME DNAME

    ——————– —————-

    SMITH RESEARCH

    ALLEN SALES

    WARD SALES

    JONES RESEARCH

    MARTIN SALES

    BLAKE SALES

    CLARK ACCOUNTING

    SCOTT RESEARCH

    KING ACCOUNTING

    TURNER SALES

    ADAMS RESEARCH

    JAMES SALES

    FORD RESEARCH

    MILLER ACCOUNTING

  • 相关阅读:
    Maven学习
    Oracle_SQL函数-单行函数
    Java 8新特性-5 内建函数式接口
    量子优势
    配置Emeditor编译运行JAVA,附私家珍藏版
    配置Emeditor编译运行JAVA,附私家珍藏版
    Notepad2-mod,轻量级文本编辑器、代替记事本的最佳选择
    三星S7短信不能提示的处理方法
    三星S7短信不能提示的处理方法
    说说宾得机身的十大人性化设定和功能[转]
  • 原文地址:https://www.cnblogs.com/booolee/p/1565818.html
Copyright © 2011-2022 走看看