您好,欢迎来到宝玛科技网。
搜索
您的当前位置:首页数据库系统原理实验报告-SQL查询语句

数据库系统原理实验报告-SQL查询语句

来源:宝玛科技网
数据库系统原理实验报告-SQL查询语句

数据库系统原理实验报告姓名:xxx学号:xxxxxxxx专业:xxxxx⽇期:xxxxxLab2⼀、实验⽬的

进⼀步熟悉关系数据库标准语⾔SQL。⼆、实验环境1)Windows 102)SQL Server 2017三、实验内容

给定如学⽣表、课程表和学⽣作业表所⽰的信息。

表2 课程表

表3 学⽣作业表

K0020529707085 K0020531808080 K0020538657585 K0020592758585 K0060531808090 K0060591808080M0010496707080 M0010591657575 S0010531808080 S00105386080写出如下SQL语句:

1.查询数据库中有哪些专业班级。(5分)

Sql语句:SELECT专业班级FROM学⽣表;查询结果截图:

2.查询在1986年出⽣的学⽣的学号、姓名和出⽣⽇期。(5分)Sql语句:SELECT学号,姓名,出⽣⽇期FROM学⽣表

WHERE出⽣⽇期LIKE'1986%';查询结果截图:

3.查询05级的男⽣信息。(5分)Sql语句:SELECT*FROM学⽣表

WHERE学号LIKE'05%'AND性别='男';查询结果截图:

4.查询没有作业成绩的学号和课程号。(5分)Sql语句:

SELECT学号,课程号FROM学⽣作业表

WHERE作业1成绩IS NULL OR作业2成绩IS NULL OR作业3成绩IS NULL;查询结果截图:

5.查询选修了K001课程的学⽣⼈数。(5分)Sql语句:

SELECT COUNT(DISTINCT学号)FROM学⽣作业表WHERE课程号='K001';查询结果截图:

6.查询数据库有多少个班级。(5分)Sql语句:

SELECT COUNT(DISTINCT专业班级)FROM学⽣表;查询结果截图:

7.查询选修三门以上(含三门)课程的学⽣的学号和作业1平均分、作业2平均分和作业3平均分。(Sql语句:

SELECT学⽣作业表.学号,AVG(作业1成绩),AVG(作业2成绩),AVG(作业3成绩)FROM学⽣表,学⽣作业表

WHERE学⽣表.学号=学⽣作业表.学号GROUP BY学⽣作业表.学号HAVING COUNT(*)>2;查询结果截图:

8.查询于兰兰的选课信息,列出学号、姓名、课程名。(5分)Sql语句:

SELECT学⽣作业表.学号,姓名,课程名

5分)FROM学⽣表,学⽣作业表,课程表

WHERE姓名= '于兰兰'AND学⽣表.学号=学⽣作业表.学号AND课程表.课程号=学⽣作业表.课程号;查询结果截图:

9. 查询与“张志国”同⼀班级的学⽣信息(使⽤连接查询和⼦查询⽅式两种⽅式)。(10 )1)连接查询:Sql语句:SELECT学⽣表1.*

FROM学⽣表AS学⽣表1,学⽣表AS学⽣表2

WHERE学⽣表2.姓名='张志国'AND学⽣表1.专业班级=学⽣表2.专业班级;查询结果截图:

2)⼦查询:Sql语句:SELECT*FROM学⽣表

WHERE专业班级=(SELECT专业班级FROM学⽣表

WHERE姓名='张志国');查询结果截图:

10. 查询⽐“计算机应⽤基础”学时多的课程信息(使⽤连接查询和⼦查询⽅式两种⽅式)。(10分)1)连接查询:Sql语句:SELECT课程表1.*

FROM课程表AS课程表1,课程表AS课程表2

WHERE课程表2.课程名='计算机应⽤基础'AND课程表1.学时数>课程表2.学时数;查询结果截图:

2)⼦查询:Sql语句:SELECT*FROM课程表

WHERE学时数>(SELECT学时数FROM课程表

WHERE课程名='计算机应⽤基础');查询结果截图:

11. 查询选修课程号为K002的学⽣的学号、姓名(使⽤连接查询、普通⼦查询、相关⼦查询、使⽤exists关键字的相关⼦查询四种⽅式)。(20分)1)连接查询:Sql语句:

SELECT学⽣表.学号,学⽣表.姓名FROM学⽣作业表,学⽣表

WHERE学⽣作业表.课程号='K002'AND学⽣作业表.学号=学⽣表.学号;查询结果截图:

2)普通⼦查询:Sql语句:

SELECT DISTINCT学⽣表.学号,学⽣表.姓名

FROM学⽣作业表,学⽣表WHERE学⽣表.学号IN(SELECT学⽣表.学号FROM学⽣作业表

WHERE学⽣作业表.课程号='K002'AND学⽣作业表.学号=学⽣表.学号)查询结果截图:

3)相关⼦查询:Sql语句:

SELECT DISTINCT学⽣表.学号,学⽣表.姓名FROM学⽣表,学⽣作业表WHERE学⽣表.学号IN(SELECT学⽣作业表.学号FROM学⽣作业表

WHERE学⽣作业表.课程号='K002')查询结果截图:

4)使⽤exists关键字的相关⼦查询:Sql语句:

SELECT DISTINCT学⽣表.学号,学⽣表.姓名FROM学⽣作业表,学⽣表WHERE EXISTS(SELECT*FROM学⽣作业表

WHERE学⽣作业表.课程号='K002'AND学⽣作业表.学号=学⽣表.

学号)

查询结果截图:

12. 查询没有选修K001和M001课程的学号、课程号和三次成绩(使⽤⼦查询)。(20分)Sql语句:

SELECT DISTINCT学号,课程号,作业1成绩,作业2成绩,作业3成绩FROM学⽣作业表WHERE学号NOT IN(SELECT学号FROM学⽣作业表

WHERE课程号='K001'OR课程号='M001')查询结果截图:

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

Copyright © 2019- baomayou.com 版权所有 赣ICP备2024042794号-6

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

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