SQL问题有选课表,课程表,学生表,查询即选择数据库有选择了操作系统的学生

来源:百度知道 编辑:UC知道 时间:2024/05/10 07:18:02
SQL问题有选课表,课程表,学生表,查询即选择数据库有选择了操作系统的学生
我写的是
select 姓名
from 学生,选课,课程
where 学生.学号=选课.学号 and 选课.课程号=课程.课程号 and 课程.课程名='数据库'
union
select 姓名
from 学生,选课,课程
where 学生.学号=选课.学号 and 选课.课程号=课程.课程号 and 课程.课程名='操作系统';

这个不行 结果是 只要选择了其中一门课都行。

还有一种是

select 姓名
from 学生,选课,课程
where 学生.学号=选课.学号 and 选课.课程号=课程.课程号 and 课程.课程名='数据库' and 课程.课程名='操作系统'

结果什么也没有?高手指教!

用子查询
select 姓名
from 学生,选课,课程
where 学生.学号=选课.学号 and 选课.课程号=课程.课程号 and 课程.课程名='数据库'
and 学生.学号 in
(select 学生.学号
from 学生,选课,课程
where 学生.学号=选课.学号 and 选课.课程号=课程.课程号 and 课程.课程名='操作系统';
}

晕 上个学期我还考过这个 ,但是给忘了。。。