用sql语言查询:至少选修了0003号学生选修的全部课程的学生学号
答案:2 悬赏:40 手机版
解决时间 2021-11-26 17:03
- 提问者网友:骑士
- 2021-11-25 23:38
用sql语言查询:至少选修了0003号学生选修的全部课程的学生学号
最佳答案
- 五星知识达人网友:雪起风沙痕
- 2021-11-25 23:52
一楼的答案不敢苟同,本人理解如下:
select x.stuid from (select sum(case
when a.stuid<>t.stuid then 1 else 0 end) ds,
(select count(distinct kecheng) from table b where b.stuid='0003') zs,
t.stuid
from table t left join tabl a on t.kecheng=a.kecheng
where t.stuid='0003'
group by t.stuid) x where x.ds>=zs;
楼上的注意了,是至少选修了0003号学生的全部课程,即如果这个学生选了5门课,其它的学生必须也至少选了这5门课
select x.stuid from (select sum(case
when a.stuid<>t.stuid then 1 else 0 end) ds,
(select count(distinct kecheng) from table b where b.stuid='0003') zs,
t.stuid
from table t left join tabl a on t.kecheng=a.kecheng
where t.stuid='0003'
group by t.stuid) x where x.ds>=zs;
楼上的注意了,是至少选修了0003号学生的全部课程,即如果这个学生选了5门课,其它的学生必须也至少选了这5门课
全部回答
- 1楼网友:撞了怀
- 2021-11-26 01:00
select id from table 1 where kecheng in (select kecheng from table2 where stuid = '0003')
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯