Oracle中Union等的用法

现有一个选修科目表SubjectRela

name subject
xiaoming Math
xiaoming Chinese
xiaoming Endlish
xiaohong Math
xiaohong English

Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;

Union All:对两个结果集进行并集操作,包括重复行,不进行排序;

Intersect:对两个结果集进行交集操作,不包括重复行,同时进行默认规则的排序;

场景1:获取既选修了Math,又选修了Chinese的学生name

select name from SubjectRela
where subject='Math'
Intersect
select name from SubjectRela
where subject='Chinese'

Minus:对两个结果集进行差操作,不包括重复行,同时进行默认规则的排序。

场景2:获取选修了Math,但是没选修Chinese的学生name

select name from SubjectRela
where subject='Math'
Minus
select name from SubjectRela
where subject='Chinese'

发表评论

邮箱地址不会被公开。 必填项已用*标注