标签:
UNION和UNION ALL
select deptno from emp
union
select deptno from dept;
相当于这两个结果取并集,union去掉重复的,union all保留重复的
2. intersect
select deptno from emp
intersect
select deptno from dept;
这相当于两个结果取交集。
3. minus
select deptno from dept
minus
select deptno from emp;
这和上面的两个有区别,第一个先用的dept,第二个是emp,这个的意思是取出dept中的结果,如果emp中也有这个
那么就去掉这个。
4. 一个结果集作为另一个的源
select sum(sal) from emp
where deptno in
(select deptno from dept
where loc=‘DALLAS‘);
loc为DALLAS的deptno的sal和
5. exists
select deptno from dept
where exists
(select deptno from emp
where deptno=40);
这个是如果括号内的语句有结果,那么就执行外面的语句,如果没有就不执行,这里就不会执行,因为emp中deptno没有40
这个值。
6. case
select deptno, case deptno
when 10 then sal+100
when 20 then sal - 100
else sal
end
"new sal"
from emp;
这就相当于if else,分情况处理
标签:
原文地址:http://my.oschina.net/bxxfighting/blog/382345