数据库学习笔记(五)-模糊查询和聚合函数

来源:互联网 发布:淘宝商品隐形降权 编辑:程序博客网 时间:2024/06/08 01:25

1 模糊查询

模糊查询提取的数据不一定是确切的,查询者对查询条件也是模糊的,大概的,不特别明确的.

模糊查询可以使用LIKE关键字,通配符来进行.

1.1通配符

_     一个字符

%   任意长度的字符 

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

[^]  不在括号中说所定范围内的任意一个字符

1.2 使用LIKE进行模糊查询

LIKE运算符用于匹配字符串或字符串的一部分(称为子串),由于该运算符只能用于字符串,所以仅与字符数据类型(如char或varchar等)联合使用.

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

1.3使用BETWEEN在某个范围内进行查询

使用关键字BETWEEN可以查找那些介于两个已知值之间的一组未知值.要实现这种查找,必须知道查找的初值和终值,并且初值小于等于终值,初值和终值用单词AND 分开

例如:查询分数在60(含)到80(含)之间的信息如下

SELECT  * FROM Score WHERE Score BETWEEN  60 AND 80

如果写成如下形式

SELECT* FROM Score WHERE Score BETWEEN  80 AND 60

则不会报语法错误 ,但也不会查询到任何信息

BETWEEN查询在查询日期范围的时候用的比较多,例如

SELECT * FROM Sale WHERE ord_date NOT BETWEEN '2010-1-1' AND '2010-8-1'

1.4 是用IN在列举值内进行查询

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

SELECT SName AS 学生姓名 FROM Students 

WHERE SAddress IN ('北京','广州','上海')

ORDER BY SAddress

可以把IN 和 NOT 关键字联合起来使用,这样可以得到所有不匹配列举值

2.T-SQL中的聚合函数

聚合函数能够基于列进行计算,将多个值合并为一个值,其作用是对一组数值进行计算,返回计算后的值

2.1 SUM()

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

例如:

SELECT SUM(Score) AS 学号为23的学生总分 FROM Score WHERE StudentID = 23

注意这种查询只能返回一个数值.因此不能直接与可能返回多行的列一起来使用.

但是一个查询中可以使用多个聚合函数

2.2 AVG()

返回表达式中所有数据的平均值.AVG()也只能用于数字类型的列.例如:

SELECT AVG(Score) AS 平均成绩 FROM Score WHERE Score >= 60

2.3 MAX()和MIN()

返回最大值/最小值,他们都可以用于数字型,字符型以及日期/时间类型的列,例如

SELECT AVG(Score)  AS 平均成绩, MAX(Score) AS 最高分 ,MIN(Score) AS 最低分 

FROM Score WHERE Score >= 60

2.4 COUNT()

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

例如:

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

原创粉丝点击