WHCSRL 技术网

数据库SQL:集合查询

综述:

集合操作:∩交集,∪并集,- 差

分别对应SQL中的INTERSECT // UNION // EXCEPT,操作对象是查询结果

应注意,做集合查询操作的查询结果应该列数相同,并且对应项的数据类型是相同的

交集INTERSECT

取两个查询结果重合的部分:查询计算机系及年龄不大于19岁的学生

select * from student where 系="计算机"

INTERSECT

select * from student where age<=19;

其实相当于两个条件都满足,对应where中的AND条件

并集UNION

取两个查询结果的所有:查询计算机系的学生或年龄不大于19岁的学生

select * from student where 系="计算机"

UNION

select * from student where age<=19;

相当于只要满足任意一个条件就可以了,对应where中的in语句和or条件

差集 EXCEPT

取两个查询结果不相同的部分:查询计算机系年龄大于19岁的学生

select * from student where 系="计算机"

EXCEPT

select * from student where age<=19;

相当于反条件,这种一般是用在正着的条件很复杂,反着反而比较简单的情况下

推荐阅读