1. UNION联合查询(并)
是指将两个或两个以上的SELECT语句通过UNION运算符连接起来的查询,
可以将两个或更多查询的结果组合为单个结果集,该结果集包含联合查询中所有查询的全部行。
使用UNION组合查询的两个基本规则是:
- 所有查询中的列数和列的顺序必须相同;
- 数据类型必须兼容。
查询选修了‘1’或‘2’课程的学生姓名。
SELECT sname FROM sc,student
WHERE cno='1' and sc.sno=student.sno
UNION
SELECT sname FROM sc,student
WHERE cno= '2' and sc. sno=student.sno
2. EXCEPT(差)
查询计算机专业没有选修操作系统课程的学生的学号和姓名。
SELECT sno,sname FROM student
WHERE specialty= '计算机'
EXCEPT
SELECT sc.sno,sname FROM sc,student
WHERE sc.sno=student.sno AND specialty= '计算机' AND cno IN
(SELECT cno FROM course WHERE cname = '操作系统')
3. INTERSECT查询(交)
查询既选修了1号课程又选修了2号课程的学生学号。
SELECT sno FROM sc WHERE cno='1'
INTERSECT
SELECT sno FROM sc WHERE cno= '2'