- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章SQLSERVER数据查询(二)
第五章:SQL SERVER 数据查询(二)
目标:
使用Like、Between、In进行模糊查询
在查询中使用聚合函数
使用Group By进行分组查询
进行多表连接查询
重点:
分组查询
多表连接查询
本章难点:
多表连接查询
灵活运用各种查询组合
回顾:
Select… from… where…order by… (关键字要按顺序放)。
Select top 3 成绩from 表名 order by 成绩 desc (查询前三名的成绩)
Select dateadd(dd,-50,getdate())(获得50天前的日期信息)
一、模糊查询
1.定义:条件不确切的查询,查询的结果返回的数据行也是未知的
2.实现方式:
1)LIKE
作用:通常与通配符一起使用进行匹配查找
语法:
SELECT * FROM 表名
WHERE 列名 LIKE 00[^8]%[A,C]%‘
注意:只能用于字符串列
2)BETWEEN
作用:查找介于两个已知值之间的数据
语法:
SELECT [列名,…] FROM 表名 WHERE 列名
BETWEEN 值1 AND 值2
注意:
可用于限定一个数的范围或一个日期的范围
初值小于等于终值,等于时相当于=
不在某个范围用 NOT BETWEEN值1 AND 值2表示
3)IN
作用:把某一字段中内容与所列出的查询内容列表匹配的记录查询出来
语法:
SELECT [列名,…] FROM 表名 WHERE 列名 IN (数据值范围)
注意:
可以通过NOT IN 得到所有不匹配列举值的数据
二、聚合函数
1.在查询中还会经常碰到的要求是取某些列的最大值、最小值、平均值等,有时候还需要计算出究竟查询到多少行数据项,此时就需要使用聚合函数
2.定义:能够基于列进行计算,并返回某个值
3.分类:
1)SUM
作用:计算所有数值总和
语法:
SELECT SUM(列名) AS 别名 FROM 表名 WHERE 条件
注意:
只能用于数字类型的列
不能直接与可能返回多行的列一起使用来进行查询
2)AVG
作用:计算所有数值平均值
语法:
SELECT AVG(列名) AS 别名
From 表名 WHERE 条件
注意:
只能用于数字类型的列
不能直接与可能返回多行的列一起使用来进行查询
3)MAX、MIN
作用:MAX返回最大值
MIN返回最小值
语法:
SELECT MAX (列名) AS 别名1
MIN (列名) AS 别名2 From 表名 WHERE 条件
注意:
可以用于数字类型、字符类型和日期类型的列
不能直接与可能返回多行的列一起使用来进行查询
4)COUNT
作用:计算查询结果的总行数
语法1:
SELECT COUNT (*) AS 别名 From 表名
WHERE 条件 ――计算所有行数
语法2:
SELECT COUNT (列名) AS 别名 From 表名
WHERE 条件 ――计算非空数据行数
注意:
COUNT(列名)计算非空值的行数
COUNT (*)计算所有的行数
不能直接与可能返回多行的列一起使用来进行查询
三、分组查询
1.GROUP BY
作用:分组查询关键字
语法1:
SELECT 列名1, AVG(列名) AS 别名
FROM 表名
GROUP BY 列名1
语法2:
SELECT 列名1,列名2, AVG(列名3)
FROM 表名
GROUP BY 列名1,列名2
注意:
SELECT后面的列名仅允许以下几项
1.被分组的项
2.为每一个分组返回一个值的表达式(聚合函数)
2.HAVING
作用:进行分组筛选
语法1:
SELECT 列名1,列名2, AVG(列名3) AS 别名
FROM 表名
GROUP BY 列名1,列名2
HAVING 条件
3.注意:
WHERE子句从数据源中去掉不符合其搜索条件的数据
GROUP BY子句搜集数据行到各个组中,统计函数为各个组计算统计值
HAVING子句去掉不符合其组搜索条件的各组数据行(三者出现的先后顺序如下)
Where——group by——having
四、多表联接查询
1.内联结
筛选两个表都存在的数据
语法:
1)在
文档评论(0)