设为首页 加入收藏

TOP

oracle连接类型(三)
2015-11-21 01:48:30 来源: 作者: 【 】 浏览:1
Tags:oracle 连接 类型
比较运算符包括>,<,>=,<=,<>(不等于),!=,like,in和between等。
例如:通过emp表和salgrade表,查询员工的工资等级。使用between运算符,建立不等连接,
salgrade为工资等级,该表中的数据如下,其中工资分为5的等级,每条数据中有个最低工资和最高工资:
SQL> select * from salgrade;


GRADE LOSAL HISAL
---------- ---------- ----------
1 700 1200
2 1201 1400
3 1401 2000
4 2001 3000
5 3001 9999
SQL> select empno,ename,sal,grade from emp e inner join salgrade s on e.sal between s.losal and s.hisal;

EMPNO ENAME SAL GRADE
------ --------- ------ ----------
7369 SMITH 800 1
7876 ADAMS 1100 1
7521 WARD 1250 2
7654 MARTIN 1250 2
7934 MILLER 1300 2
7499 ALLEN 1600 3
7844 TURNER 1500 3
7900 JAMES 1800 3
7566 JONES 2975 4
7698 BLAKE 2850 4
7782 CLARK 2450 4
7788 SCOTT 3000 4
7902 FORD 3000 4
7839 KING 5000 5
7935 XIAOXUE 5000 5



已选择 15 行。



3.自然连接
自然连接是在两个表中寻找列名和数据类型都相同的字段,通过相同的字段将两个表连接在一起,并返回所有符合条件的结果。
使用自然连接,需要指定natural join连接关键字,但不需要指定连接的条件。
使用自然连接需要注意以下的几点:
(1)如果自然连接的两个表中有多个字段都满足名称和数据类型相同,那么它们都会被作为自然连接的条件。
(2)如果自然连接的两个表中,仅仅是字段名称相同,而字段的数据类型不同,那么使用该字段进行连接将会返回一个错误。
(3)由于oracle支持自然连接,那么在设计表时,应该尽量子啊不同的表中将具有相同含义de字段使用相同的名字和数据类型,如果总是对主键和外键使用相同的名字,嘛呢就可以满足自然连接。
SQL> select e.ename,e.sal,deptno,d.dname from emp e natural join dept d;


ENAME SAL DEPTNO DNAME
--------- ------ ------ ------------
SMITH 800 20 RESEARCH
ALLEN 1600 30 SALES
WARD 1250 30 SALES
JONES 2975 20 RESEARCH
MARTIN 1250 30 SALES
BLAKE 2850 30 SALES
CLARK 2450 10 ACCOUNTING
SCOTT 3000 20 RESEARCH
KING 5000 10 ACCOUNTING
TURNER 1500 30 SALES
ADAMS 1100 20 RESEARCH
JAMES 1800 30 SALES
FORD 3000 20 RESEARCH
MILLER 1300 10 ACCOUNTING
XIAOXUE 5000 20 RESEARCH

由上面可知在emp和dept表中有deptno字段相同
SQL> select * from emp e natural join dept d;


DEPTNO EMPNO ENAME JOB MGR HIREDATE SAL COMM DNAME LOC
------ ------ --------- --------- ----- ---------- ------ ----- ------------ -------
20 7369 SMITH CLERK 7902 17-12月-80 800 RESEARCH DALLAS
30 7499 ALLEN SALESMAN 7698 20-2月 -81 1600 300 SALES CHICAGO
30 7521 WARD SALESMAN 7698 22-2月 -81 1250 500 SALES CHICAGO
20 7566 JONES MANAGER 7839 02-4月 -81 2975 RESEARCH DALLAS
30 7654 MARTIN SALESMAN 7698 28-9月 -81 1250 1400 SALES CHICAGO
30 7698 BLAKE MANAGER 7839 01-5月 -81 2850 SALES CHICAGO
10 7782 CLARK MANAGER 7839 09-6月 -81 2450 ACCOUNTING NEW YORK
20 7788 SCOTT ANALYST 7566 24-1月 -87 3000 RESEARCH DALLAS
10 7839 KING PRESIDENT 17-11月-81 5000 ACCOUNTING NEW YORK
30 7844 TURNER SALESMAN 7698 08-9月 -81 1500 0 SALES CHICAGO
20 7876 ADAMS CLERK 7788 02-4月 -87 1100 RESEARCH DALLAS
30 7900 JAMES CLERK 7698 03-12月-81 1800 SALES CHICAGO
20 7902 FORD ANALYST 7566 03-12月-81 3000 RESEARCH DALLAS
10 7934 MILLER CLERK 7782 23-1月 -82 1300 ACCOUNTING NEW YORK
20 7935 XIAOXUE MANAGER 7839 01-3月 -98 5000 500 RESEARCH DALLAS



已选择 15 行。


首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇ORACLE创建Java过程 下一篇oracle下操作blob字段是否会产生..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: