CLERK 950
30 MANAGER 2850
30 SALESMAN 5600
DEPTNO JOB SUM(SAL)
---------- --------- ----------
30 9400
29025
已选择13行。
已用时间: 00: 00: 00.00
SQL> set timing off
这儿由于数据量太少导致时间太短无法测出,在平时可以使用此种方法来检测哪一个sql语句执行时间更短,则那个sql更为好
?
INTERSECT语句
INTERSECT 运算符返回同时属于两个集合的记录
显示薪水同时位于级别1(700~1300)和级别2(1201~1400)的员工信息:
SQL> select ename,sal from emp
2 where sal between 700 and 1300
3 INTERSECT
4 select ename,sal from emp
5 where sal between 1201 and 1400;
ENAME SAL
---------- ----------
MARTIN 1250
MILLER 1300
WARD 1250
minus
MINUS返回属于第一个集合,但不属于第二个集合的记录。
显示薪水同时位于级别1(700~1300),但不属于级别2(1201~1400)的员工信息:
SQL> select ename,sal from emp 2 where sal between 700 and 1300
3 minus
4 select ename,sal from emp
5 where sal between 1201 and 1400;
ENAME SAL
---------- ----------
ADAMS 1100
JAMES 950
SMITH 800
集合运算注意事项
lselect语句中参数类型和个数要一致。 l可以使用括号改变集合执行的顺序 l如果有order by子句,必须放到每一句查询语句后 l集合运算采用第一个语句的表头作为表头