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

内容发布更新时间 : 2024/4/19 3:44:45星期一 下面是文章的全部内容请认真阅读。

生作业表.课程号;

查询结果截图:

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')

查询结果截图:

四、实验总结

通过本次实验,我更加熟悉了SQL语言查询相关的语句用法。在实验中遇到了很多问题,例如建表时提示主键列不能输入重复值,后来才知道原来要设置两个主键。希望在以后的实验中可以收获更多的实践知识。