ITPub博客

首页 > Linux操作系统 > Linux操作系统 > natural join

natural join

原创 Linux操作系统 作者:lsq_008 时间:2011-11-18 09:22:01 0 删除 编辑

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

 

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

 

SQL> select e.ename,e.sal,d.dname from emp e ,dept d where e.deptno=d.deptno;

 

ENAME             SAL DNAME

---------- ---------- --------------

SMITH              10 RESEARCH

ALLEN              10 SALES

WARD               10 SALES

JONES              10 RESEARCH

MARTIN             10 SALES

BLAKE              10 SALES

CLARK              10 ACCOUNTING

KING               10 ACCOUNTING

TURNER             10 SALES

JAMES              10 SALES

FORD               10 RESEARCH

MILLER             10 ACCOUNTING

 

12 rows selected.

 

这里我们并没有指定连接的条件,实际上oracle为我们自作主张的将,emp中的deptno和dept中的deptno做了连接,相当于如下查询:

 

SQL> select e.ename,e.sal,d.dname from emp e NATURAL JOIN  dept d;

 

ENAME             SAL DNAME

---------- ---------- --------------

SMITH              10 RESEARCH

ALLEN              10 SALES

WARD               10 SALES

JONES              10 RESEARCH

MARTIN             10 SALES

BLAKE              10 SALES

CLARK              10 ACCOUNTING

KING               10 ACCOUNTING

TURNER             10 SALES

JAMES              10 SALES

FORD               10 RESEARCH

MILLER             10 ACCOUNTING

 

12 rows selected.

 

另外:

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

 

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

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/10972173/viewspace-711546/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
十余年大型金融及电信系统数据库管理经验,曾服务于中国建设银行、中国移动。对oracle,mysql数据库有深入了解。 擅长python开发,独立开发了开源数据库自动化监控运维平台Power Monitor。

注册时间:2008-02-29

  • 博文量
    335
  • 访问量
    1369121