SQL的集合操作和完整新约束。
一、集合操作
(一)集合运算符
union/union all 并
intersect 交
minus 差
集合运算要求两个select语句是同构的,即列的个数和数据类型必须一致
union的结果集为两个查询结果的并集,是去掉重复值的
union all的结果集为两个查询结果的并集,是包含重复值的
intersect的结果集为两个查询结果的交集,不包含重复值
minus的结果集为属于第一个查询的结果集,但不属于第二个查询的结果集即从第一个查询的结果集中减去他们的交集,不包含重复值
(1)union all
select worker.ename,manager.enamefrom emp worker join emp manager
on worker.mgr=manager.empno
union all
select ename,'boss'
from emp
where mgr is null;
(2)union
select job from emp where deptno=20
union(all)
select job from emp where deptno=10;
二、完整性约束
1.保证数据的一致性
2.通过数据库的特性或应用程序完成
3.数据库约束
主键(primary key)、唯一键(unique key)、外键(foreign key)、非空(not null)、检查(check)
类型 描述
实体完整性 主键值的任意部分不为空并且主键值唯一
引用完整性 外键的取值必须是已存在的主键值或为空
列值 列的取值必须满足数据类型的定义
用户自定义 取值必须遵守业务规则
unique key可以为空