您好,欢迎来到五一七教育网。
搜索
您的当前位置:首页数据库实验4_数据库查询与视图

数据库实验4_数据库查询与视图

来源:五一七教育网
在学生选课数据库中完成规定查询,并创建视图。

1. 查询线性代数不及格的同学的学号和姓名;

SQL语句为:SELECT名单$.学号,姓名

FROM名单$,学生选课信息和成绩$,课程$

WHERE名单$.学号=学生选课信息和成绩$.学号AND课程$.课号=学生选课信息和成绩$.课号AND

课程$.课程名='线性代数'

AND学生选课信息和成绩$.成绩<60;

执行后结果为:

2. 查询没有选课记录的同学的所有基本信息;

SQL语句为:SELECT*

FROM名单$

WHERENOTEXISTS

(SELECT*

FROM学生选课信息和成绩$

WHERE学号=名单$.学号);

执行后结果为:

3. 查询具有简介先修课的课程信息及对应的先修课名;

SQL语句为:SELECTFIRST.课号,SECOND.课程名

FROM课程$FIRST,课程$SECOND

WHEREFIRST.先修课号=SECOND.课号;

执行后结果如下:

4. 统计高等数学(1)的平均成绩; SQL语句为:SELECTAVG(成绩)

FROM学生选课信息和成绩$,课程$

WHERE学生选课信息和成绩$.课号=课程$.课号AND课程$.课程名='高等数学(1)';

执行后结果如下:

5. 统计各门课的选课人数;

SQL语句为:SELECT课号,COUNT(学号)

FROM学生选课信息和成绩$

GROUPBY课号;

执行后结果为:

6. 查询选修5门课以上的学生的学号;

SQL语句为:SELECT学号

FROM学生选课信息和成绩$

GROUPBY学号

HAVINGCOUNT(*)>5;

执行后结果为:

7. 用你的学号查询和你一个班的同学的学号和姓名;

SQL语句为:SELECT学号,姓名

FROM名单$

WHERE班级IN

(SELECT班级

FROM名单$

WHERE学号='201000800145');

执行后结果如下:

8. 查询高等数学(1)成绩比你高出10分以上的同学的姓名和对应成绩;

SQL语句为:SELECT姓名,成绩

FROM名单$,学生选课信息和成绩$

WHERE名单$.学号=学生选课信息和成绩$.学号AND学生选课信息和成绩$.课号='82006010'

AND成绩>(

SELECT成绩+10

FROM学生选课信息和成绩$,课程$

WHERE学生选课信息和成绩$.课号=课程$.课号AND课程$.课程名='高等数学(1)'

AND学生选课信息和成绩$.学号='201000800145')

执行后结果为:

9. 找到每门课获得最高成绩的同学的学号、姓名、课名和成绩;选做。 只能做到如下结果

SQL语句为:SELECT课号,姓名,成绩

FROM名单$,学生选课信息和成绩$SCX

WHERE名单$.学号=SCX.学号ANDSCX.成绩IN

(SELECTMAX(成绩)

FROM学生选课信息和成绩$SCY

WHERESCX.课号=SCY.课号

GROUPBY课号)

执行后结果为:

10. 创建计算机系一班同学的视图V_CS_Stu,并指定可以更新;

SQL语句为:CREATEVIEWV_CS_Stu

AS

SELECT*

FROM名单$

WHERE系别='计算机'AND班级='1'

WITHCHECKOPTION;

执行后结果如下:

11. 基于V_CS_Stu,创建计算机系一班同学的选课视图,包括学号、姓名、课程名;

SQL语句为:CREATEVIEWV_CS_Stu_SC

AS

SELECTdbo.V_CS_Stu.学号,dbo.V_CS_Stu.姓名,dbo.课程$.课程名

FROM名单$,课程$

CROSSJOINdbo.V_CS_Stu 执行后结果为:

12. 用V_CS_Stu查询计算机系一班同学中名字包含“权”字的同学

SQL语句为:SELECT*

FROMV_CS_Stu

WHERE姓名LIKE'%权'OR姓名LIKE'权%'

执行后结果如下:

13. 用V_CS_Stu更新学号以2010008001打头计算机系一班同学的出生日期为1994-5-2;

SQL语句为:UPDATEV_CS_Stu

SET生日=1994-5-2

WHERE学号>'201000800099'AND学号<'201000800200'

执行后结果如图所示:

14. 创建学号及他所有课的平均成绩的视图;

SQL语句为:

CREATEVIEWS_G(学号,平均成绩) AS

SELECT学号,AVG(成绩)

FROM学生选课信息和成绩$

GROUPBY学号;

执行后结果为:

15. 创建所有女同学的视图,只包含姓名、年龄、班级及系别;

SQL语句为:CREATEVIEWGIRL

AS

SELECT姓名,生日,班级,系别

FROM名单$

WHERE性别='女';

执行后结果为:

16. 删除14中所创建的视图。

SQL语句为:DROPVIEWS_G;

执行后结果为:

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 517ttc.cn 版权所有 赣ICP备2024042791号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务