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;
下一篇:
mybatis之动态sql(超详细)