内容正文:
项目5 查询
2
2
【能力目标】
学会使用SELECT语句。
能使用SELECT语句进行简单查询。
能使用SELECT语句进行分组筛选和汇总计算。
能使用SELECT语句进行连接查询。
能使用SELECT语句进行子查询。
【思政目标】
“古之立大事者,不惟有超出之才,亦必有坚忍不拔之志”,青年学生应努力学习,成人成才,为祖国服务。
项目5 查询
3
3
【项目描述】
按照要求对xs数据库中各表进行查询和统计。
【项目分析】
将数据库xs的数据表建立好后,就可以进行数据库的各种操作了。在数据库应用中,最常用的操作是查询,它是数据库的其他操作(统计、插入、修改、删除)的基础。在SQL Server 2019中,使用SELECT语句实现数据查询。SELECT语句功能强大,使用灵活。用户通过SELECT语句可以从数据库中查找需要的数据,也可以进行数据的统计汇总。本项目主要介绍利用SELECT语句对数据库进行各种查询的方法。
项目5 查询
【思政导入】主要矛盾和次要矛盾
解决问题要抓主要矛盾,认真细致是做好每一项工作的关键。在数据库应用中,最常用的操作是查询,那么掌握查询的用法就必不可少。
我们要掌握解决问题的关键因素,抓主要矛盾,认真细致地完成工作。
项目5 查询
5
5
【任务设置】
任务1 简单查询
任务2 分类汇总
任务3 连接查询
任务4 子查询
项目5 查询
6
6
【任务目标】
学会使用聚合函数。
能使用SELECT语句进行分组筛选、汇总和计算。
【任务分析】
对表数据进行查询时,经常需要对查询结果进行分类、汇总或计算。例如,在xs数据库中求某门课程的平均分、统计各分数段的人数等。可使用聚合函数SUM、AVG、MAX、MIN、COUNT进行汇总查询,使用GROUP BY子句和HAVING子句进行分组筛选。
任务2 分类和汇总
项目5 查询
7
7
1.SUM和AVG
SUM和AVG分别用于求表达式中所有值项的总和与平均值。
语法格式:
SUM/AVG ([ALL | DISTINCT]expression )
【例5-19】 求学号为202102的学生选修课程的平均成绩:
USE xs
SELECT AVG(成绩) AS '202102号学生的平均分'
FROM XSCJ
WHERE 学号='202102' GO
任务2-1 使用常用的聚合函数
项目5 查询
8
8
2.MAX和MIN
MAX和MIN分别用于求表达式中所有值项的最大值与最小值。
语法格式:
MAX/MIN ([ALL | DISTINCT]expression )
3.COUNT
COUNT用于统计组中满足条件的行数或总行数。
语法格式:
COUNT ({[ALL | DISTINCT]expression}|*)
任务2-1 使用常用的聚合函数
项目5 查询
9
9
分组是按照某一列数据的值或某个列组合的值将查询出的行分成若干组,每组在指定列或列组合上具有相同的值。分组可通过使用GROUP BY子句来实现。
语法格式:
[GROUP BY group_by_expression[,…n] ]
1.简单分组
【例5-23】 求XSDA表中男、女生的人数:
USE xs
SELECT性别,COUNT(*) AS '人数'
FROM XSDA GROUP BY性别 GO
任务2-2 分组筛选数据
项目5 查询
10
10
2.使用HAVING子句筛选结果
使用GROUP BY子句和聚合函数对数据进行分组后,还可以使用HAVING子句对分组数据做进一步筛选。
语法格式:
[HAVING <search_condition>]
【例5-25】 查询XSCJ表中平均成绩在90分及以上的学生的学号和平均分:
USE xs
SELECT 学号, AVG(成绩) AS '平均分'
FROM XSCJ
GROUP BY 学号
HAVING AVG(成绩)>=90
GO
任务2-2 分组筛选数据
项目5 查询
11
11
【任务目标】
学会使用连接查询实现多表查询。
【任务分析】
连接查询是关系数据库中最主要的查询方式,连接查询的目的是通过加载连接字段条件将多个表连接起来,以便从多个表中检索用户需要的数据。例如,在xs数据库中需要查找选修了“数据结构”课程的学生的姓名和成绩,就需要将XSDA、KCXX、XSCJ这3个表进行连接,才能查找到结果。
在SQL Server 2019中,连接查询分为内连接、外连接、交叉连接和自连接。
任务3 连接查询
项目5 查询
12
12
内连接是将两个表中满足连接条件的行组合起来,返回满足条件的行。
语法格式:
FROM <table_