SQL的数据查询功能

举报
运气男孩 发表于 2021/10/24 11:57:26 2021/10/24
【摘要】 实验目的理解查询的概念和方法。掌握SELECT语句在单表查询中的应用。掌握多表连接的方法。掌握复杂查询的使用方法。掌握SELECT语句在多表查询中的应用。掌握数据汇总﹑排序、分组查询方法。实验内容在“学生管理”数据厍中有”学生”表、”课程”表、”成绩”表,里面分别存放了学生的数据、课程数据和成绩学分数据。使用SELECT语句查询以下信息:查询所有学生的基本信息。查询分数在90分以上的成绩信息...

实验目的

  • 理解查询的概念和方法。
  • 掌握SELECT语句在单表查询中的应用。
  • 掌握多表连接的方法。
  • 掌握复杂查询的使用方法。
  • 掌握SELECT语句在多表查询中的应用。
  • 掌握数据汇总﹑排序、分组查询方法。

实验内容

学生管理”数据厍中有学生表、课程表、成绩,里面分别存放了学生的数据、课程数据和成绩学分数据。使用SELECT语句查询以下信息:

  • 查询所有学生的基本信息。
  • 查询分数在90分以上的成绩信息。
  • 查询学生分数为80分和90分的学生成绩信息。
  • 查询外语系和计算机系女学生的信息。
  • 查询姓的女学生的信息。
  • 查询分数排在前10名的学生的学号。
  • 查询学生所在的系名,并要求显示的院系名称不重复。
  • 查询所有课程的课程名和学分,并且按照学分从高到低排列。
  • 查询分数在80分以上的学生的学号和课程名。
  • 查询选修数据库的学生的学号,并按照分数从高到低输出前5名。
  • 查询每个学院中1985年后出生的男生和女生人数。
  • 查询同张丽数据库课程分数相同的学生的学号。

实验过程

1)查询所有学生的基本信息。

以系统管理员身份登录到SQL Server 2008管理平台主界面。在对象资源管理器中,展开“数据库”,选中“学生管理”数据库,右击,在弹出的快捷菜单中选择“新建查询”选项,打开查询编辑器。在查询编辑器的输入窗口输入如下语句:

select * from 学生

单击工具栏中的执行”按钮如图所示,查询到了所有学生的基本信息,结果如下图所示

 

  • 查询分数在90分以上的成绩信息

同第1)步一样,在新建查询的编辑窗口输入:select * from 成绩 where 分数 > 90 点击执行

 

 

3)查询学生分数为80分和90分的学生成绩信息。

同第2)步一样,在新建查询的编辑窗口输入下列代码,点击执行即可,结果如图所示

select * from 成绩 where 分数 between 80 and  90  

 

4)查询外语系和计算机系女学生的信息。

同第3)步一样,在新建查询的编辑窗口输入下列代码,点击执行即可,结果如图所示

select * from 学生 where 所在院系 in (外语系,计算机系)  and 性别= 

 

  • 查询姓的女学生的信息。

同第4)步一样,在新建查询的编辑窗口输入下列代码,点击执行即可,结果如图所示

select * from 学生 where 姓名 like '赵%' AND性别='女'

 

6)查询分数排在前10名的学生的学号。

同第5)步一样,在新建查询的编辑窗口输入下列代码,点击执行即可,结果如图所示

select  top  10  *  from  成绩

 

7)查询学生所在的系名,并要求显示的院系名称不重复。

同第6)步一样,在新建查询的编辑窗口输入下列代码,点击执行即可,结果如图所示

select distinct 所在院系 from 学生

 

8)查询所有课程的课程名和学分,并且按照学分从高到低排列

同第7)步一样,在新建查询的编辑窗口输入下列代码,点击执行即可,结果如图所示

select 课程名,学分 from 课程 order by 学分 desc

 

9)查询分数在80分以上的学生的学号和课程名

同第8)步一样,在新建查询的编辑窗口输入下列代码,点击执行即可,结果如图所示

 

10)查询选修数据库的学生的学号,并按照分数从高到低输出前5名。

同第9)步一样,在新建查询的编辑窗口输入下列代码,点击执行即可,结果如图所示

 

 

  • 查询每个学院中1985年后出生的男生和女生人数。

10)步一样,在新建查询的编辑窗口输入下列代码,点击执行即可,结果如图所示

SELECT所在院系,性别,COUNT (*)AS人数 FROM 学生

WHERE YEAR(出生日期)>1995 GROUP  BY 所在院系,性别 Go

 

注意:AS用来设置别名  AS 人数的意思是设置count统计出来的那个列名为人数

  • 查询同张丽数据库课程分数相同的学生的学号

11)步一样,在新建查询的编辑窗口输入下列代码,点击执行即可,结果如图所示

SELECT 学号

FROM 成绩

WHERE 分数 = (SELECT 分数 FROM 成绩,课程,学生 

WHERE 姓名 = '张丽'

AND 课程名 = '数据库'

AND 学生.学号 =成绩.学号

AND 成绩.课程号 = 课程.课程号) 

 

本次实操关于SQL的查询到此结束

 

实验结果

  • 熟悉并掌握单表查询、多表连接的方法。
  • 熟悉并掌握复杂查询的使用方法
  • 熟悉并掌握SELECT语句在多表查询中的应用
  • 熟悉并掌握数据汇总﹑排序、分组查询方法

 

实验心得

1)修改数据库表结构时提示不允许保存更改

原因:默认设置了阻止保存要求重新创建表的更改(S)

解决工具-〉选项-〉左侧有个 设计器-〉表设计器和数据库设计器 -> 阻止保存要求重新创建表的更改(右侧) 把钩去掉即可。

 

2)SQL中LIKE模糊查询LIKE关键字匹配语句

  • 字符%:表示匹配以...开头的字符串。
  • %字符:表示匹配以...结尾的字符串。
  • %字符%:表示匹配包含指定字符的字符串。
  • 字符_:代表一个任意字符(必须有一个字符)

 

通过这次实验,使我学到了不少实用的SQL表的查询知识,熟悉并掌握单表查询、多表连接的方法,SELECT语句在多表查询中的应用数据汇总﹑排序、分组查询方法,在操作方面有了本质的提高。更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。