上海大学数据库上机作业上机练习5作业(共3页).doc
精选优质文档-倾情为你奉上上大学数据库上机作业数据库系统与应用上机习题* 第五部分、SQL高级应用一、做书上第十章的例题二、利用上次上机的学生_课程数据库1. 求选修了高等数学的学生学号和姓名。USE 学生课程SELECT 学生.学号,姓名,选课.课程号FROM 学生,选课,课程WHERE 学生.学号=选课.学号 AND 课程.课程号=选课.课程号AND 课程名='高等数学'2. 求C1课程的成绩高于张三的学生学号和成绩。USE 学生课程SELECT x.学号,x.成绩FROM 选课 x,选课 yWHERE x.课程号='C1' AND x.成绩>y.成绩 AND y.学号='S4' AND y.课程号='C1'ORDER BY x.学号 DESC第二种:USE 学生课程SELECT 学号,成绩FROM 选课WHERE 课程号='C1' AND 成绩>(SELECT 成绩 FROM 选课,学生 WHERE 课程号='C1'AND 姓名='张三'AND 选课.学号=学生.学号)3. 求其他系中比自动化学院某一学生年龄小的学生。USE 学生课程SELECT 学号,姓名,年龄,单位FROM 学生WHERE 年龄<(SELECT MAX(年龄) FROM 学生 WHERE 单位='自动化学院') AND 单位!='自动化学院' ORDER BY 学号 DESC4. 求其他系中比自动化学院学生年龄都小的学生。USE 学生课程SELECT 学号,姓名,年龄,单位FROM 学生WHERE 年龄<(SELECT MIN(年龄) FROM 学生 WHERE 单位='自动化学院') AND 单位!='自动化学院' ORDER BY 学号 DESC5. 求选修了C2课程的学生的姓名。USE 学生课程SELECT 姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号='C2'6. 求没有选修C2课程的学生的姓名。USE 学生课程SELECT DISTINCT 姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 姓名 not in (SELECT 姓名FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 选课.课程号='C2')7. 查询选修了C1、C2、C3、C7全部四门课程的学生的姓名。USE 学生课程SELECT 姓名FROM 学生WHERE 学号 in(SELECT 学号 FROM 选课 WHERE 课程号='C1') AND 学号 in(SELECT 学号 FROM 选课 WHERE 课程号='C2') AND 学号 in(SELECT 学号 FROM 选课 WHERE 课程号='C3') AND 学号 in(SELECT 学号 FROM 选课 WHERE 课程号='C7')第二种:USE 学生课程SELECT 姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号 in('C1','C2','C3','C7')GROUP BY 姓名HAVING COUNT(*)=4 8. 求至少选修了学号为S2的学生所选修的全部课程的学生的学号和姓名。USE 学生课程SELECT 学生.学号,姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 选课.课程号 in(SELECT 课程号 FROM 选课 WHERE 学号='S2')AND 选课.学号!='S2'GROUP BY 学生.学号,姓名HAVING COUNT(选课.学号)>=(SELECT COUNT(*)FROM 选课 WHERE 学号='S2')9. 选修了C1课程,同时也选修C2课程的学生学号。USE 学生课程SELECT 学号FROM 选课WHERE 课程号='C1' AND 学号 in(SELECT 学号 FROM 选课 WHERE 课程号='C2')10. 求学生总人数。USE 学生课程SELECT COUNT(学号)AS 总人数FROM 学生11. 求课程和选修该课程的人数。USE 学生课程SELECT 选课.课程号,课程名,COUNT(学号)AS 选修该课程人数FROM 选课,课程WHERE 选课.课程号=课程.课程号 GROUP BY 选课.课程号,课程名12. 求选修课超过3门的学生学号。USE 学生课程SELECT 学号,COUNT(课程号)AS 选课数FROM 选课GROUP BY 学号HAVING COUNT(课程号)>313.编写一个程序,计算各学院的总人数及男女生的人数,生成下图的查询。USE 学生课程SELECT 单位,COUNT(*)AS 总人数,SUM(CASE 性别 WHEN '男' THEN 1 ELSE 0 END)AS 男生人数,SUM(CASE 性别 WHEN '女' THEN 1 ELSE 0 END)AS 女生人数FROM 学生GROUP BY 单位专心-专注-专业