SQL语言的数据查询之集合查询

4. 集合查询

集合操作主要包括并操作UNION,交操作INTETRSECT和差操作EXCEPT。

注意:参加集合操作的各查询结果的列数必须相同;对应项的数据类型也必须相同。

[例1] 查询计算机科学系的学生及年龄不大于19岁的学生。

SELECT *
FROM Student
WHERE Sdept=CS
UNION
SELECT*
FROM Student
WHERE Sage<=19;

本查询实际上是求计算机科学系的所有学生与年龄不大于19岁的学生的并集。使用UNION将多个查询结果合并起来时,系统会自动去掉重复元组。如果要保留重复元组则用UNION ALL操作符。

[例2] 查询计算机科学系的学生与年龄不大于19岁的学生的交集。

SELECT *
FROM Student
WHERE Sdept=CS
INTERSECT
SELECT*
FROM Student
WHERE Sage<=19;

这实际上就是查询计算机科学系中年龄不大于19岁的学生。

SELECT*
FROM Student
WHERE Sdept=CS AND Sage<=19;

[例3] 查询计算机科学系的学生与年龄不大于19岁的学生的差集。

SELECT*
FROM Student
WHERE Sdept=CS
EXCEPT
SELECT*
FROM Student
WHERE Sage<=19;

也就是查询计算机科学系中年龄大于19岁的学生

SELECT *
FROM Student
WhERE Sdept=CS AND Sage>19;
经验分享 程序员 微信小程序 职场和发展