SQL的数据查询功能
实验目的
- 理解查询的概念和方法。
- 掌握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语句在多表查询中的应用,数据汇总﹑排序、分组查询方法,在操作方面有了本质的提高。更重要的是,做实验的过程,思考问题的方法,这与做其他的实验是通用的,真正使我们受益匪浅。
- 点赞
- 收藏
- 关注作者
评论(0)