学习目标:
一、集合查询的相关概念
二、集合查询的几种常用操作
学习内容:
一、集合查询的分类
二、集合查询的几种常用操作
1、并操作
- 形式
<查询块>
union
<查询块>
- 参加union操作的各结果的列数必须相同
- 对应项的数据类型也必须相同
--查询选修了1号课程和2号课程的学生学号
select sno from sc where cno=1
union
select sno from sc where cno=2;
2、交操作与差操作
标准sql中没有提供集合交操作和差操作,但可以用其他方法间接实现
--查询选修了1号课程的学生集合与选修了2号课程的学生集合的交集
select sno from sc
where cno=1 and sno In
(select sno from sc
where cno=2);
--查询计算机科学系的学生与年龄不大于19岁的学生的差集
select * from student
where sdept='CS' and sage>19;
4、对集合操作结果的排序
- order by子句只能用于对最终的查询结果排序,不能对中间结果排序
- 任何情况下,order by 子句只能出现在最后
- 对集合操作结果排序时,order by 子句中可以用数字指定排序属性
--查询计算机科学系的学生与年龄不大于19岁的学生的并集,结果按学号升序排列
select * from student
where sdept='CS'
union
select * from student
where sage<=19
order by sno;