模糊查询和聚合函数

Posted on 2017-10-24 15:56  卡喵与修正拳  阅读(236)  评论(0编辑  收藏  举报

一.通配符通配是一类字符,它可以代替一个或多个真正的字符,查找信息时作为替代字符出现。T-SQL中的通配符必须于like关键字一起使用,已完成特殊的约束或要求通配符

通配符

解释

示例

_

一个字符

A Like‘C_’,则符合条件的A如CS,Cd等

%

任意长度的字符

B Like‘CO%’,则符合条件的B如CONST,COKE等

[]

括号中指定范围内的一个字符

C like‘9WO[1-2]’,则符合条件的c如9wo1,9wo2

[^]

不在括号中指定范围内的任意字符

C Like‘9Wo[1-2]’,则符合条件的C如9WO3,9WO4等

二.使用Like进行模糊查询在数据更新,删除或者查询的时候,依然可以使用like关键字进行匹配查找

例如:查找姓张的学生信息:Select*from students where SName like‘张%’

或者查询住址包含‘北京’字样的学生信息:Select*from students where SAddress like‘%北京%’

三.使用between在某个范围内进行查询使用关键字between可以查找那些介于两个已知值之间的一组未知值

例如:查询分数在60(含)80(含)之间的信息如下:Select*from Score where Score between 60 and 80

如果between查询在查询日期范围的时候使用的比较多,例如查询不再2012年1月1日到2010年8月1日之前订购的图书列表Select*from Sales where ord_date not between‘2012-1-1’and‘2010-8-1’

四.使用IN在列举值内进行查询查询的值是指定的某些值之一,可以使用带例举值的IN关键字来进行查询,将列举值放在括号里,用逗号分开。

例如,查询北京,广州或者上海的学生姓名Select Sname AS学生姓名from students where Saddress IN(‘北京’,‘广州’,‘上海’)order by Saddress同样可以把IN关键字和not关键字合起来使用,这样可以得到所有不匹配列举值的行提示:列举值类型必须与匹配的具有相同的数据类型

五.T-SQL中的聚合函数

1.sum()Sum()返回表达式中所有数值的总和。Sum()只能用于数字类型的列,不能够汇总字符,日期等其他数据类型,

例如:查询学生编号为23的考试总分,可以使用如下查询Select sum(Score)AS学号为23的学生总分from Score Where StudentID=23

2.avg()Avg()函数返回表达式中所有值的平均值,avg()函数也只能用于数字类型的列

例如:要查询及格线以上的学生的平均成绩语句如下:Select avg(Score)AS平均成绩from Score where Score>=60

3.max()和min()Max()返回表达式中的最大值,min()返回表达式中的最小值,它们都可以用于数字型,字符型以及日期、时间类型的列例如,查询平均成绩,最高分,最低分Select avg(Score)AS平均分,max(Score)AS最大值,min(Score)AS最小值from Score where Score>=60

4.CountCount()返回提供的组或记录集中的计数。Count()也可以用于数字和字符类型的列。另外,也可以使用星号(*)作为count的表达式,使用星号金额已不必指定特定的列而计算所有的行数

例如:查询及格人数的语句如下。Select count(*)AS及格人数from Score where Score>=60

通配符是一类字符,它可以代替一个或多个真正的字符,查找信息时作为替代字符出现

‘_’和‘%’分别匹配一个或多个字符

使用like between In关键字,能够进行模糊查询

常用的聚集函数如sum(),avg(),max(),min(),count()