-----------------------------------------------------集合操作
--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
本文介绍了SQL中的集合操作,包括union用于去除重复的并集,union all显示所有信息包括重复,intersect显示两表的交集,以及minus显示两张表中的差异记录。此外,还展示了满连接(full join)的不同表示方式,通过实例演示了这些操作在实际数据查询中的应用。
900

被折叠的 条评论
为什么被折叠?



