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

  • 相关阅读:
    词法分析器实验报告(JAVA)
    词法编辑器(Java)
    编译原理的那些事
    Discuz7.2 faq.php页面注入漏洞分析
    Discuz7.2 XML漏洞
    Python 爬取广州商学院新闻----测试版
    进程调度
    DOS下的网络管理命令
    DOS批处理实验
    熟悉使用DOS操作命令
  • 原文地址:https://www.cnblogs.com/booolee/p/1565818.html
Copyright © 2011-2022 走看看