永发信息网

Mysql几个小问题,几个查询小语句

答案:1  悬赏:10  手机版
解决时间 2021-05-10 08:08

S (SNO,SNAME) 学生关系。SNO 为学号,SNAME 为姓名
C (CNO,CNAME,CTEACHER) 课程关系。CNO 为课程号,CNAME 为课程名,CTEACHER 为任课教师
SC(SNO,CNO,SCGRADE) 选课关系。SCGRADE 为成绩
列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩

列出既学过“1”号课程,又学过“2”号课程的所有学生姓名

列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号

最佳答案

1. 列出有二门以上(含两门)不及格课程的学生姓名及其平均成绩


select sname,avg(scgrade)


from s,sc


where s.sno=sc.sno and sc.scgrade<60


group by sno,sname


having count(*)>=2



2. 列出既学过“1”号课程,又学过“2”号课程的所有学生姓名


如果1号课程指 cno =1


select s.sname


from s, sc


where s.sno=sc.sno and sc.cno in (1,2)


group by s.sname


having count(*)=2



如果1号课程指 cname='1号'


select s.sname


from s, sc ,c


where s.sno=sc.sno and sc.cno = c.cno and c.cname in ('1号','2号')


group by s.sname


having count(*)=2



3.


列出“1”号课成绩比“2”号同学该门课成绩高的所有学生的学号



如果1号课程指 cno =1


select sno


from (


select A.sno,A.Grade1,B.Grade 2


from


(select sno,scgrade as Grade1 from s,sc where s.sno=sc.sno and sc.cno=1) A,


(select sno,scgrade as Grade2 from s,sc where s.sno=sc.sno and sc.cno=2) B


where


A.sno = B.sno


) C


where Grade1>Grade2



如果1号课程指 cname ='1号'


select sno


from (


select A.sno,A.Grade1,B.Grade 2


from


(select sno,scgrade as Grade1 from s,sc,c where s.sno=sc.sno and sc.cno=c.cno and c.cname='1号') A,


(select sno,scgrade as Grade2 from s,sc,c where s.sno=sc.sno and sc.cno=c.cno and c.cname='2号') B


where


A.sno = B.sno


) C


where Grade1>Grade2

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
疯狂赛车!!!!!!!!!
怎么离开战歌峡谷
汽车购置税计算
怎么点亮 图标啊啊啊啊
WOW人类盗贼升级快吗
怎样睡觉才能保持发型?
可以下载小格式MP3的网址
在QQ上最快的发送方法
QQ寻仙怎么才开通啊?
有没有一个真真正正能用电脑上三潴的方法,一
砭石有什么功效???
寻浪漫有诗意的4字.名字 急需...捣乱的别来
爱护花的标语拟人,描写花句子大全
空间怎样做
谁帮我玩抢车位和好友买卖啊?
推荐资讯
建筑劳务公司营业税
如何找到软绒毛
蜀国灭亡时诸葛亮还有儿子活着吗
求极品治忧伤的药?
2010汪大波最love谁 ?
关于初三的一条化学问题
青浦哪有卖木人桩(截拳或者咏春拳专用的)
如果发生婚外恋了怎么办?
战地之王开启不删档内测是不是每个人都能下载
浙江有哪些地方,浙江有哪些城市
qq欢乐豆能够换取q币吗
5320XM能后台运行09年正版QQ吗?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?