模糊查询
通配符
通配符 | 解释 | 示例 |
---|---|---|
_ | 一个字符 | * LIKE ‘C_’,则符合条件如CS、CC |
% | 任意长度的字符串 | * LIKE ‘CO%’,则符合条件如CONST、COKE等 |
[] | 括号中所指定范围内的一个字符 | * LIKE ‘AK[1-2]’,则符合条件如AK1、AK2 |
[^] | 不在括号中所指定范围内的任意一个字符 | * LIKE ‘C[^1-2]’,则符合条件如C3、C4 |
使用LIKE进行模糊查询
在进行数据更新、删除或者查询的时候,可以使用LIKE关键字进行匹配查找
如:查找姓曾的学生信息:
SELECT * FROM Students
WHERE SName LIKE '曾%'
使用BETWEEN在某个范围内进行查询
使用关键字BETWEEN可以查找介于两个以知值之间的一组未知值
如:查询分数在90-100之间的信息
SELECT * FROM SCore
WHERE Score BETWEEN 90 AND 100 --初值要小于等于终值
使用IN在列举值内进行查询
查询的值是特定的值时,可以使用带列举值的IN关键字来进行查询。将列举值放在圆括号里,用逗号分开.
如:查询在北京、上海、广东的学生姓名:
SELECT SName AS 学生姓名
FROM Students
WHERE SAddress IN ('北京','上海','广东')
T-SQL中的聚合函数
SUM()函数
SUM()函数返回表达式中所有数值的总和,空值(NULL)将被忽略,SUM()函数只能用于数字类型的列.
如:查询学生编号为111的考试总分
SELECT SUM(Score) AS 编号111的总分
FROM Score
WHERE StudentID = 111
AVG()函数
AVG()函数返回表达式中所有数值的平均值,空值(NULL)将被忽略,AVG()函数只能用于数字类型的列。
如:查询60分以上学生的平均成绩
SELECT AVG(Score) AS 平均成绩
FROM Score
WHERE Score >= 60
MAX()和MIX()函数
MAX()函数返回表达式中的最大值MIX()函数返回最小值,都将空值(NULL)忽略。可以使用数字型、字符型、日期时间类型的列.
如:查询最高分、最低分
SELECT MAX(Score) AS 最高分, MIN(Score) AS 最低分
FROM Score
COUNT()函数
COUNT()函数返回提供的组或记录集中的计数。除了text、image、ntext类型,都能使用COUNT()函数
注: 可使用*作为表达式,计算所有的行数,包括空值的行
如:查询总记录数
SELECT COUNT(*) AS 总记录数
FROM Score