5. 查询表sc——查询选修了课程的学生学号。(要求去掉重复)

在这里插入图片描述

SELECT
	sno
FROM
	sc
GROUP BY
	sno;
  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MOOC-数据库系统概论-实验操作之多查询 学⽣:Student(Sno,Sname,Ssex,Sage,Sdept) 课程:Course(Cno,Cname,Cpno,Ccredit) 学⽣选课SC(Sno,Cno,Grade) 注:性别为enum('男'or'⼥'),请使⽤KingBase语句进⾏答题,语句后要添加分,否则语句视为错误 1. 询学⽣姓名,对应的课程名和成绩(输出列为:SNAME,CNAME,GRADE) SELECT sname SNAME,cname CNAME,grade GRADE from student,sc,course WHERE student.sno = sc.sno and course.cno = sc.cno; 2. 查询每个学⽣的学号、姓名及其选修课程的名称和成绩(包括没有选修课程的学⽣情况(输出列为:SNO, SNAME, CNAME, GRADE)。 SELECT student.sno SNO,student.sname SNAME,course.CName CNAME,sc.Grade GRADE from student,course,sc WHERE student.sno = sc.sno and course.Cno = sc.cno; 3. 查询其他系中⽐"信息学院"某⼀学⽣年龄⼩的学⽣姓名和年龄(输出列为:SNAME, SAGE)。 SELECT Sname , Sage FROM Student WHERE Sage< ANY ( SELECT Sage FROM Student WHERE Sdept='信息学院') AND Sdept <> '信息学院'; 4. 查询选修了全部课程的学⽣姓名(输出列为:SNAME) SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM Course WHERE NOT EXISTS (SELECT * FROM SC WHERE Sno= Student.Sno AND Cno= Course.Cno)); 5. 查询选了经济控制论的学⽣中,成绩⽐名字为赵古韵的学⽣好的学⽣信息(输出列为STUDENT全部列) SELECT DISTINCT student.* FROM student, course, sc WHERE student.sno = sc.sno AND course.Cno = sc.cno AND course.CName = '经济控制论' AND sc.Grade > ( SELECT DISTINCT grade FROM sc WHERE grade = ( SELECT sc.grade FROM sc, course, student WHERE sc.cno = course.cno AND student.sno = sc.sno AND course.CName = '经济控制论' AND student.sname = '赵古韵' )); 6. 统计每个学⽣所选课程的平均成绩(输出列为:SNAME,AVGSCORE) SELECT Sname SNAME,avg(grade) AVGSCORE FROM student s,sc WHERE s.sno = sc.sno GROUP BY sname; 7. 查询信息学院年龄在21岁以下的男⽣每个⼈所修课程的总学分,并按总学分进⾏升序排序(输出列为学号SNO、总学分 CREDITSUM) -- 个⼈感觉这样写没啥问题,但是不知道错在哪⾥,希望看透的松弟指点⼀哈 SELECT student.sno SNO,SUM(Ccredit) CREDITSUM from sc,course,student where sc.cno = course.cno and student.sno = sc.sno and student.Sdept='CS' and student.Ssex ='男' and student.Sage <21 GROUP BY sc.sno ORDER BY CREDITSUM asc; --也想过了如果符合三个条件,但是没选课所以为0学分,或者null(啊西) SELECT student.sno SNO,SUM(Ccredit) CREDITSUM from sc,course,student where sc.cno = course.cno and student.sno = sc.sno and student.Sdept='信息学院' and student.Ssex ='男' and student.Sage <21 GROUP

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值