教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 初中教育 >

SQL第五章续 分组及连接查询

来源:网络收集 时间:2026-09-06
导读: 数据查询(2) 回顾 数据查询将按照一定的条件对表的的记录进行逐行筛选, 然后把符合要求的组合成“记录集”返回给查询的用户, 记录集的结构类似于表结构 可以在查询中使用AS子句或者=重命名列名 判断一行中的数据项是否为空,使用IS NULL 使用TOP子句可以限

数据查询(2)

回顾

数据查询将按照一定的条件对表的的记录进行逐行筛选, 然后把符合要求的组合成“记录集”返回给查询的用户, 记录集的结构类似于表结构 可以在查询中使用AS子句或者=重命名列名 判断一行中的数据项是否为空,使用IS NULL 使用TOP子句可以限制查询返回的行数 ORDER BY子句用来对查询的结果进行排序,缺省按照升序 排列,也可以按降序(DESC)来排列,还可以按照多列来 排序 在查询语句中,可以使用常量、表达式和运算符 在查询中使用函数,能够像在程序中那样处理查询得到的 2 数据项

目标

使用LIKE、BETWEEN、IN进行模糊查询 在查询中使用聚合函数 使用GROUP BY进行分组查询 进行多表联接查询

模糊查询—LIKE

查询时,字段中的内容并不一定与查询内容完全匹配,只要字段中含有 这些内容

思考:以下的SQL语句:SELECT FROM 数据表 SELECT *SName AS 姓名 FROM Students WHERE SName LIKE '张%' WHERE 编号 LIKE '00[^8]%[A,C]%‘

可能会查询出的编号值为( )。姓名 A、9890ACD 张果老 B、007_AFF 张飞 张扬出去 C、008&DCG

D、KK8C4

模糊查询—IS NULL

把某一字段中内容为空的记录查询出来

猜一猜:把Students表中某些行的SAddress字段值删掉后: SELECT SName As 姓名 SAddress AS 地址 —— 使用IS NULL能查询出来这些数据行吗? FROM Students WHERE SAddress IS NULL —— 怎么查询出这些行来?

姓名 张果老 李寻欢 令狐冲 程灵素 …

地址 NULL NULL NULL NULL …5

模糊查询—BETWEEN

把某一字段中内容在特定范围内的记录查 询出来SELECT StudentID, Score FROM SCore WHERE Score BETWEEN 60 AND 80

StudentID 7 8 11 17 …

Score 77 61 76 64 …6

模糊查询—IN

把某一字段中内容与所列出的查询内容列 表匹配的记录查询出来SELECT SName AS 学员姓名,SAddress As 地址 FROM Students WHERE SAddress IN ('北京','广州','上海')

学员姓名 李扬 于紫电 李青霜 司马弓 …

地址 广州 上海 北京 上海 …7

问题成绩表中存储了所有学员的成绩,我想知道: 学员的总成绩、平均成绩、有成绩的学员总共有多少名 怎么办?

聚合函数-1SUM SELECT SUM(ytd_sales) FROM titles WHERE type = 'business'

SELECT SUM(ytd_sales) ,Price FROM titles WHERE type = 'business' AVG SELECT AVG(SCore) AS 平均成绩 From Score WHERE Score >=60

×

聚合函数-2MAX、MIN SELECT AVG(SCore) AS 平均成绩, MAX (Score) AS 最高分, MIN (Score) AS 最低分 From Score WHERE Score >=60

COUNT SELECT COUNT (*) AS 及格人数 From Score WHERE Score>=60

问题如果不是统计所有人所有课程的总成绩 而是想求每一门课的平均绩或者某个人的所有课的总成绩

怎么办?

分组汇总这三个数

取平均值 第4-6分数取平均值 有一个学员参加考试 最后三个数取平均值

分组查询—GROUP BYSELECT CourseID, AVG(Score) AS 课程平均成绩 FROM Score GROUP BY CourseID

分组查询—思考思考:执行以下的T-SQL:SELECT StudentID, CourseID, AVG(Score) AS 课程平均成绩 FROM Score GROUP BY CourseID

—— 结果如何?

分组查询—多列分组第一次内部测试成绩

第二次内部测试成绩 怎么样来统计每次的内部测试不同学员的成绩?

第三次内部测试成绩

补考成绩15

分组查询—再看看内部测试成绩

StudentID和CourseID的组合存在重复……

需要按照这两个来进行分组,避免StudentID和CourseID 同时一样

还要把这个加上取平均16

…… 此处隐藏:122字,全部文档内容请下载后查看。喜欢就下载吧 ……
SQL第五章续 分组及连接查询.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1564505.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)