C#语言和SQL Server数据库技术_模糊查询和聚合函数

第10章 模糊查询和聚合函数
一.模糊查询
在使用模糊查询时,查询者对查询条件也是模糊的,大概的,不特别明确的。
IS NULL 查询严格说也是一种模糊查询。
1.通配符
简答地讲,通配符是一类字符,它可以代替一个或多个真正的字符,查找信息时作为替代字符出现
T-SQL中的通配符必须与LIKE关键字一起使用,以完成特殊的约束或要求。
通配符 解释 示例
_ 一个字符 A LIKE 'C_',则符合条件的A如CS,Cd等
% 任意长度的字符串 B LIKE 'CO%',则符合条件的B如CONST,COKE等
[] 括号中所指定范围内的一个字符 C LIKE '9W0[1-2]',则符合条件的C如9W01或9W02
[~] 不在括号中所指定范围内的任意 D LIKE '9W0[~1-2]',则符合条件的D如9W03或9W07
一个字符
2.使用LIKE进行模糊查询
LIKE运算符用于匹配字符串或字符串的一部分,再进行数据查更新,删除或者查询的时候,依然可以
使用LIKE关键字进行匹配查找。
例:
--查找姓张的学生信息
SELECT * FROM Student WHERE student.StudentName LIKE '张%'


--查询住址包含“北京”字样的学生信息
SELECT * FROM Student WHERE Address LIKE '%北京%'
3.使用BETWEEN在某个范围内进行查询
可以查找介于两个已知值之间的一组未知值,初值要小于等于终值,用AND关键字分开。
例:
--查询分数在60(含)到80(含)之间的信息
--初值小于终值
SELECT * FROM Score WHERE Score BETWEEN 60 AND 80
--初值大于终值
SELECT * FROM Score WHERE Score BETWEEN 80 AND 60


--查询不在2013年1月1号到2013年8月1号之间订购的图书列表
SELECT * FROM Sales WHERE ord_date NOT BETWEEN '2013/1/1' AND '2013/8/1'
使用NOT来对限制条件进行“取反”操作。
4.使用IN在列举值内进行查询
查询的值是指定的某些值之一,可以使用带列举值的IN关键字来进行查询。将列举值放在圆括号里,用逗号分开,
列举值类型必须与匹配的列具有相同的数据类型。


例:
--查询北京,广州,或者上海的学生姓名
SELECT Student.StudentName AS 学生姓名 FROM Student WHERE Address 
IN('北京','广州','上海')ORDER BY Address


二.T-SQL中的聚合函数
聚合函数能够基于列进行计算,将多个值合并为一个值,其作用是对一组值进行计算,并返回计算后的值。
1.SUM()函数
返回表达式中所有数值的总和,空值将被忽略,sum()函数只能用于数字类型的列。
注意这种查询只返回一个数值,因此,不能够直接与可能返回多行的列一起使用来进行查询。
例:
SELECT SUM(Score) AS 学号为23的学生总分 FROM Score WHERE StudentID =23
在一个查询中可以同时使用多个聚合函数。
例:
SELECT SUM(Score) AS 学员为23的学生总分,CourseID AS 科目编号
FROM Score WHERE StudentID=23
2.AVG()函数
例:
SELECT AVG(Score) AS 平均成绩 FROM Score WHERE Score>=60
3.MAX()函数和MIN()函数
例:
SELECT AVG(Score) AS 平均成绩,MAX(Score) AS 最高分,MIN(Score) AS 最低分 FROM Score
WhERE Score>=60
4.COUNT()函数
返回提供的组或记录集中的计数,可以用于除去text,image,ntext以外任何类型的列。
当对所有的行进行计数时,包括包含空值的行。
例:
SELECT COUNT(*) AS 总记录数 FROM Score
单列统计总记录数时忽略了空值。
例:
SELECT COUNT(Score) AS 分数记录数 FROM Score

你可能感兴趣的:(C#语言和SQL Server数据库技术_模糊查询和聚合函数)