对exists not exitsts不理解的可以看看这个:
链接: link.
题目:
设有关系模式为:
学生(学号,姓名,性别,年龄,所在系)
课程(课程号,课程名,先行课)
选课(学号,课程号,成绩)
问题:求选修了学号为“95001”学生所学过的所有课程的学生学号和姓名
1.思路分析,存在一门课程,学号“95001”学生选了,而某一个学生没有选,则这个学生不符合条件
2.sql语句:
select 学号,姓名
from 学生
where not exists(
select *
from 选课
where 选课.学号="95001" and not exists(
select *
from 课程
where 课程.课程号=选课.课程号
and 课程.学号=学生.学号));