日期:2014-05-16  浏览次数:20623 次

集合查询
-----------------------------------------------------集合操作
--1,union 并集,所有的内容都查询,重复的显示一次
--2,union all 并集,所有的内容都显示,包括重复的
--3,insersect 交集,只显示重复的
--4,minus 差集,只显示对方没有的

--实验:首先创建一张只包含20部门的员工信息表
create table emp20 as select * from emp where deptno =20;

select * from emp20;
--验证union及union all
select * from emp union emp union select * from emp20;
select * from student union select * from student1;--王五只显示一次
select * from student union all select * from student1;--所有信息都显示一次
--验证intersect 交集
select * from emp intersect select * from emp20;
--minus 返回差异的记录 只显示两张表中不同的记录
select * from emp minus select * from emp20;

--满联接的其他表示方式
select e1.empno,e1.ename,e2.empno,e2.ename from emp e1,emp20 e2 where e1.empno=e2.empno(+)
union
select e1.empno,e1.ename,e2.empno,e2.ename from emp e1,emp20 e2 where e1.empno(+)=e2.empno