数据库问题用sql语句写以下问题图标也在这

1、查询学生修课表中的全部数据。2、查询信息学院的学生的姓名、年龄。3、查询成绩在70-80分(包括70和80分)之间的学生的学号、课程号和成绩。4、查询水建学院年龄在18-20岁(包括18和20岁)之间且性别为“男”的学生的姓名和年龄。5、查询001号课程的最高成绩。6、查询植保学院学生的最大年龄和最小年龄。7、统计每个学院的学生人数。8、统计每门课程的修课人数和考试最高分。9、统计每个学生的选课门数和考试总成绩,并按总成绩的递减顺序显示结果。
10、查询总成绩超过200分的学生,要求列出学号和总成绩。

第1个回答  2013-03-31
假定3个表名依次为S, SC, C
1、查询学生修课表中的全部数据。
SELECT * FROM SC
2、查询信息学院的学生的姓名、年龄。
SELECT Sname, Sage FROM S WHERE Sdept = 'CS'
3、查询成绩在70-80分(包括70和80分)之间的学生的学号、课程号和成绩。
SELECT Sno, Cno, Grade FROM SC WHERE Grade >=70 AND Grade <= 80
4、查询水建学院年龄在18-20岁(包括18和20岁)之间且性别为“男”的学生的姓名和年龄。
SELECT Sname, Sage FROM S WHERE Sage BETWEEN 18 AND 20 AND Ssex ='男'
AND Sdept = '水建'
5、查询001号课程的最高成绩。
SELECT MAX(Grade) FROM SC WHERE Cno='001'
6、查询植保学院学生的最大年龄和最小年龄。
SELECT MAX(Sage), Min(Sage) FROM S WHERE Sdept = '植保'
7、统计每个学院的学生人数。
SELECT Sdept, Count(Sno) FROM S GROUP BY Sdept
8、统计每门课程的修课人数和考试最高分。
SELECT C.Cno, Count(SC.Scno), MAX(SC.Grade)
FROM C LEFT JOIN SC ON C.Cno = SC.Cno
GROUP BY C.Cno
9、统计每个学生的选课门数和考试总成绩,并按总成绩的递减顺序显示结果。
SELECT S.Sno, COUNT(SC.Cno), SUM(SC.Grade)
FROM S LEFT JOIN SC ON S.Sno = SC.Cno
GROUP BY S.Sno
ORDER BY SUM(SC.Grade) DESC
10、查询总成绩超过200分的学生,要求列出学号和总成绩。
SELECT Sno, SUM(Grade) FROM SC GROUP BY Sno
HAVING SUM(Grade) > 200追问

大哥麻烦您吧回答复制一份发个私信给我吧,这里的答案就删除掉,不然别人也会看到,谢谢了

追答

你追问了就删不掉了

答案都差不多,里面有几个可能有不同写法的。

追问

额这下好吧多谢了

本回答被提问者采纳
第2个回答  2013-03-31
还是发私信吗?
不对啊,这不还是昨天那问题吗?追问

是啊一样的

追答

邮件已经给你发了,收到没

相似回答