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

上传人:b****5 文档编号:11818895 上传时间:2023-04-03 格式:DOCX 页数:10 大小:180.83KB
下载 相关 举报
数据库系统原理实验报告SQL查询语句.docx_第1页
第1页 / 共10页
数据库系统原理实验报告SQL查询语句.docx_第2页
第2页 / 共10页
数据库系统原理实验报告SQL查询语句.docx_第3页
第3页 / 共10页
数据库系统原理实验报告SQL查询语句.docx_第4页
第4页 / 共10页
数据库系统原理实验报告SQL查询语句.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

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

《数据库系统原理实验报告SQL查询语句.docx》由会员分享,可在线阅读,更多相关《数据库系统原理实验报告SQL查询语句.docx(10页珍藏版)》请在冰豆网上搜索。

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

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

 

数据库系统原理

实验报告

 

姓名:

xxx

学号:

xxxxxxxx

专业:

xxxxx

 

日期:

xxxxx

 

Lab2

一、实验目的

进一步熟悉关系数据库标准语言SQL。

二、实验环境

1)Windows10

2)SQLServer2017

三、实验内容

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

表1学生表

学号

姓名

性别

专业班级

出生日期

联系电话

0433

张艳

生物04

1986-9-13

0496

李越

电子04

1984-2-23

1381290××××

0529

赵欣

会计05

1984-1-27

1350222××××

0531

张志国

生物05

1986-9-10

1331256××××

0538

于兰兰

生物05

1984-2-20

1331200××××

0591

王丽丽

电子05

1984-3-20

1332080××××

0592

王海强

电子05

1986-11-1

表2课程表

课程号

课程名

学分数

学时数

任课教师

K001

计算机图形学

2.5

40

胡晶晶

K002

计算机应用基础

3

48

任泉

K006

数据结构

4

64

马跃先

M001

政治经济学

4

64

孔繁新

S001

高等数学

3

48

赵晓尘

表3学生作业表

课程号

学号

作业1成绩

作业2成绩

作业3成绩

K001

0433

60

75

75

K001

0529

70

70

60

K001

0531

70

80

80

K001

0591

80

90

90

K002

0496

80

80

90

K002

0529

70

70

85

K002

0531

80

80

80

K002

0538

65

75

85

K002

0592

75

85

85

K006

0531

80

80

90

K006

0591

80

80

80

M001

0496

70

70

80

M001

0591

65

75

75

S001

0531

80

80

80

S001

0538

60

80

写出如下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成绩ISNULLOR作业2成绩ISNULLOR作业3成绩ISNULL;

查询结果截图:

5.查询选修了K001课程的学生人数。

(5分)

Sql语句:

SELECTCOUNT(DISTINCT学号)

FROM学生作业表

WHERE课程号='K001';

查询结果截图:

6.查询数据库中共有多少个班级。

(5分)

Sql语句:

SELECTCOUNT(DISTINCT专业班级)

FROM学生表;

查询结果截图:

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

(5分)

Sql语句:

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

FROM学生表,学生作业表

WHERE学生表.学号=学生作业表.学号

GROUPBY学生作业表.学号

HAVINGCOUNT(*)>2;

查询结果截图:

8.查询于兰兰的选课信息,列出学号、姓名、课程名。

(5分)

Sql语句:

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

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语句:

SELECTDISTINCT学生表.学号,学生表.姓名

FROM学生作业表,学生表

WHERE学生表.学号IN(

SELECT学生表.学号

FROM学生作业表

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

查询结果截图:

3)相关子查询:

Sql语句:

SELECTDISTINCT学生表.学号,学生表.姓名

FROM学生表,学生作业表

WHERE学生表.学号IN(

SELECT学生作业表.学号

FROM学生作业表

WHERE学生作业表.课程号='K002')

查询结果截图:

4)使用exists关键字的相关子查询:

Sql语句:

SELECTDISTINCT学生表.学号,学生表.姓名

FROM学生作业表,学生表

WHEREEXISTS(

SELECT*

FROM学生作业表

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

查询结果截图:

12.查询没有选修K001和M001课程的学号、课程号和三次成绩(使用子查询)。

(20分)

Sql语句:

SELECTDISTINCT学号,课程号,作业1成绩,作业2成绩,作业3成绩

FROM学生作业表

WHERE学号NOTIN(

SELECT学号

FROM学生作业表

WHERE课程号='K001'OR课程号='M001')

查询结果截图:

四、实验总结

通过本次实验,我更加熟悉了SQL语言查询相关的语句用法。

在实验中遇到了很多问题,例如建表时提示主键列不能输入重复值,后来才知道原来要设置两个主键。

希望在以后的实验中可以收获更多的实践知识。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 药学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1