上海大学数据库上机作业上机练习5作业

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1上大学数据库上机作业《数据库系统与应用》上机习题*************************************************************************************************第五部分、SQL高级应用一、做书上第十章的例题二、利用上次上机的学生_课程数据库1.求选修了高等数学的学生学号和姓名。USE学生课程SELECT学生.学号,姓名,选课.课程号FROM学生,选课,课程WHERE学生.学号=选课.学号AND课程.课程号=选课.课程号AND课程名='高等数学'2.求C1课程的成绩高于张三的学生学号和成绩。USE学生课程SELECTx.学号,x.成绩FROM选课x,选课yWHEREx.课程号='C1'ANDx.成绩y.成绩ANDy.学号='S4'ANDy.课程号='C1'ORDERBYx.学号DESC第二种:USE学生课程SELECT学号,成绩FROM选课WHERE课程号='C1'AND成绩(SELECT成绩FROM选课,学生WHERE课程号='C1'AND姓名='张三'AND选课.学号=学生.学号)3.求其他系中比自动化学院某一学生年龄小的学生。USE学生课程SELECT学号,姓名,年龄,单位FROM学生WHERE年龄(SELECTMAX(年龄)FROM学生WHERE单位='自动化学院')AND单位!='自动化学院'ORDERBY学号DESC4.求其他系中比自动化学院学生年龄都小的学生。USE学生课程SELECT学号,姓名,年龄,单位FROM学生WHERE年龄(SELECTMIN(年龄)FROM学生WHERE单位='自动化学院')AND单位!='自动化学院'ORDERBY学号DESC5.求选修了C2课程的学生的姓名。USE学生课程SELECT姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号='C2'6.求没有选修C2课程的学生的姓名。USE学生课程SELECTDISTINCT姓名FROM学生,选课WHERE学生.学号=选课.学号AND姓名notin(SELECT姓名FROM学生,选课WHERE学生.学号=选课.学号AND选课.课程号='C2')27.查询选修了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')GROUPBY姓名HAVINGCOUNT(*)=48.求至少选修了学号为S2的学生所选修的全部课程的学生的学号和姓名。USE学生课程SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND选课.课程号in(SELECT课程号FROM选课WHERE学号='S2')AND选课.学号!='S2'GROUPBY学生.学号,姓名HAVINGCOUNT(选课.学号)=(SELECTCOUNT(*)FROM选课WHERE学号='S2')9.选修了C1课程,同时也选修C2课程的学生学号。USE学生课程SELECT学号FROM选课WHERE课程号='C1'AND学号in(SELECT学号FROM选课WHERE课程号='C2')10.求学生总人数。USE学生课程SELECTCOUNT(学号)AS总人数FROM学生11.求课程和选修该课程的人数。USE学生课程SELECT选课.课程号,课程名,COUNT(学号)AS选修该课程人数FROM选课,课程WHERE选课.课程号=课程.课程号GROUPBY选课.课程号,课程名12.求选修课超过3门的学生学号。USE学生课程SELECT学号,COUNT(课程号)AS选课数FROM选课GROUPBY学号HAVINGCOUNT(课程号)3313.编写一个程序,计算各学院的总人数及男女生的人数,生成下图的查询。USE学生课程SELECT单位,COUNT(*)AS总人数,SUM(CASE性别WHEN'男'THEN1ELSE0END)AS男生人数,SUM(CASE性别WHEN'女'THEN1ELSE0END)AS女生人数FROM学生GROUPBY单位

1 / 3
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功