首页 > Linux操作系统 > Linux操作系统 > natural join
自然连接是在两张表中寻找那些数据类型和列名都相同的字段,然后自动地将他们连接起来,并返回所有符合条件按的结果。
来看一下自然连接的例子:
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/ ,如需转载,请注明出处,否则将追究法律责任。