查询选修了至少选修了200515122选修的全部课程的学生学号。

jianqifeihong 2010-05-14 03:17:59
数据表结构为:
create table 选课表
(
学号 varchar(9) Foreign Key references 学生表(学号),
课程编号 Varchar(8) Foreign Key references 课程表(课程编号),
成绩 smallint
)

求查询选修了至少选修了200515122选修的全部课程的学生学号。该怎么查啊???
...全文
1159 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
jumping656 2011-11-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 waylife 的回复:]

SELECT DISTINCT Sno FROM 选课表 SCX WHERE NOT EXISTS
(SELECT * FROM 选课表 SCY WHERE SCY.学号='200215122' AND NOT EXISTS
(SELECT * FROM 选课表 SCZ WHERE SCZ.学……
[/Quote]是这个,但是为什么呢?
RxRead 2011-10-04
  • 打赏
  • 举报
回复
SELECT DISTINCT Sno FROM 选课表 SCX WHERE NOT EXISTS
(SELECT * FROM 选课表 SCY WHERE SCY.学号='200215122' AND NOT EXISTS
(SELECT * FROM 选课表 SCZ WHERE SCZ.学号=SCX.学号 AND SCZ.课程编号=SCY.课程编号));
永生天地 2010-05-14
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jianqifeihong 的回复:]
二楼的代码不行啊。
[/Quote]
是什么问题
永生天地 2010-05-14
  • 打赏
  • 举报
回复
select distinct 学号 from  选课表 t 
where not exists
( select 1 from 选课表 where 学号='200515122' and 课程编号 not in (select 课程编号 from 选课表 where 学号=t.学号))
jianqifeihong 2010-05-14
  • 打赏
  • 举报
回复
二楼的代码不行啊。
jianqifeihong 2010-05-14
  • 打赏
  • 举报
回复
不好意思,没有说清楚哈。
求查询至少选修了200515122选修的全部课程的学生学号。该怎么查啊???
realclimax 2010-05-14
  • 打赏
  • 举报
回复
lz的话没看懂
永生天地 2010-05-14
  • 打赏
  • 举报
回复

select * from 选课表 t
where not exists
( select 1 from 选课表 where 学号='200515122' and 课程编号 not in (select 课程编号 from 选课表 where 学号=t.学号))

22,299

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧