今天我们来学习SQL语言:
看题:查询只选修了“信息系统”和“数学”这两门课程的学生的学号
查询语句展示:
select sno
from course a,sc b
where a.cno=b.cno
group by b.sno
having count(*)=2
intersect
select sno
from course a,sc b
where a.cno=b.cno and cname='信息系统'
intersect
select sno
from course a,sc b
where a.cno=b.cno and cname='数学'
解析:读题,题目中要求我们找出只选修了“信息系统”和“数学”这两门课程的学生的学号,首先我们先找出只选修了两门课程的学生的学号,然后再找出选修了“信息系统”的学生的学号,再找出选修了“数学”的学生的学号,三者之间做交集操作(intersect),即可得到所求结果。该题还是比较简单,希望同学们能分析清楚,一步一步的来简化问题。