如何用SQL查询全部学生都选了人课程号和课程名
答案:2 悬赏:40 手机版
解决时间 2021-11-20 08:46
- 提问者网友:最爱你的唇
- 2021-11-19 09:23
如何用SQL查询全部学生都选了人课程号和课程名
最佳答案
- 五星知识达人网友:污到你湿
- 2021-11-19 10:47
1,全部学生都选了人课程号和课程名
select b.cno,b.cname
from 学生关系 a,课程关系 b,学习关系 c where a.sno=c.sno and b.cno=c.cno
group by b.cno,b.cname having count(*)=(select count(*) from 学生关系)
2,某位学生没有选的课程名称
select a.sname,b.cname
from 学生关系 a,课程关系 b,学习关系 c where a.sno=c.sno and b.cno=c.cno
group by a.sname,b.cname having count(*)<(select count(*) from 课程关系)
我这是列的每个学生没选的,要是查某位学生,加个条件就行
select a.sname,b.cname
from 学生关系 a,课程关系 b,学习关系 c where a.sno=c.sno and b.cno=c.cno
and a.sname='xxx'
group by a.sname,b.cname having count(*)<(select count(*) from 课程关系)
select b.cno,b.cname
from 学生关系 a,课程关系 b,学习关系 c where a.sno=c.sno and b.cno=c.cno
group by b.cno,b.cname having count(*)=(select count(*) from 学生关系)
2,某位学生没有选的课程名称
select a.sname,b.cname
from 学生关系 a,课程关系 b,学习关系 c where a.sno=c.sno and b.cno=c.cno
group by a.sname,b.cname having count(*)<(select count(*) from 课程关系)
我这是列的每个学生没选的,要是查某位学生,加个条件就行
select a.sname,b.cname
from 学生关系 a,课程关系 b,学习关系 c where a.sno=c.sno and b.cno=c.cno
and a.sname='xxx'
group by a.sname,b.cname having count(*)<(select count(*) from 课程关系)
全部回答
- 1楼网友:风格不统一
- 2021-11-19 12:23
全部学生都选的课程号与课程名:
select * from (select C.cno,C.cname,count(1) as total from (select A.*,C.* from 学生关系统 as A,学习关系 as B,课程关系 as C where A.sno=B.sno and B.cno=C.cno ) as t group by C.cno,C.cname) as T where total=(select count(1) from 学生关系 group by sno)
某个学生没有选的课程名称:
select * from 课程关系 where cno no in( select cno from (select A.*,C.* from 学生关系统 as A,学习关系 as B,课程关系 as C where A.sno=B.sno and B.cno=C.cno ) T where sno='某个学生')
select * from (select C.cno,C.cname,count(1) as total from (select A.*,C.* from 学生关系统 as A,学习关系 as B,课程关系 as C where A.sno=B.sno and B.cno=C.cno ) as t group by C.cno,C.cname) as T where total=(select count(1) from 学生关系 group by sno)
某个学生没有选的课程名称:
select * from 课程关系 where cno no in( select cno from (select A.*,C.* from 学生关系统 as A,学习关系 as B,课程关系 as C where A.sno=B.sno and B.cno=C.cno ) T where sno='某个学生')
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯