一. 模糊查询
1.通配符
通配符 解释 示例 符合条件的值
_ 一个字符 A LIKE 'C_' CS、Cd等
% 任意长度的字符串 B LIKE 'CO%' CONST、COKE等
[ ] 括号中所指定范围内的一个字符 C LIKE '9W0[1-2]' 9W01或9W02
[^] 不在括号中所指定范围内的一个字符 D LIKE '9W0[^1-2]' 9W03或9W07等
_ 一个字符 A LIKE 'C_' CS、Cd等
% 任意长度的字符串 B LIKE 'CO%' CONST、COKE等
[ ] 括号中所指定范围内的一个字符 C LIKE '9W0[1-2]' 9W01或9W02
[^] 不在括号中所指定范围内的一个字符 D LIKE '9W0[^1-2]' 9W03或9W07等
2.查询关键字
LIKE:用于在WHERE子句中搜索列中的指定模式;只与字符型数据联合使用
--模糊查询姓名以张开头的学生
--%:0-n
SELECT * FROM Student WHERE StudentName LIKE '张%'
--模糊查询姓名以张开头的学生
--%:0-n
SELECT * FROM Student WHERE StudentName LIKE '张%'
--查询学生姓名包含张的同学
SELECT * FROM Student WHERE StudentName LIKE '%张%'
SELECT * FROM Student WHERE StudentName LIKE '%张%'
--查询学生姓名姓张后面有三位字符信息的同学
SELECT * FROM Student WHERE StudentName LIKE '%张__'
SELECT * FROM Student WHERE StudentName LIKE '%张__'
--包含a-z
SELECT * FROM Student WHERE StudentName LIKE '%张[a-z]'
SELECT * FROM Student WHERE StudentName LIKE '%张[a-z]'
--不包含a-z
SELECT * FROM Student WHERE StudentName LIKE '%张[^a-z]%'
SELECT * FROM Student WHERE StudentName LIKE '%张[^a-z]%'
IS NULL:判断指定变量是否为NULL
BETWEEN AND:在WHERE子句中使用,用于选取介于两个值之间的数据范围
--查询学生成绩在70-85之间的学生信息
SELECT * FROM Student,Result WHERE Student.StudentNo=Result.StudentNo AND Result.StudentResult between 60 and 85
--查询学生成绩在70-85之间的学生信息
SELECT * FROM Student,Result WHERE Student.StudentNo=Result.StudentNo AND Result.StudentResult between 60 and 85
--查询学生出生日期在2000-01-01到2001-01-01之间出生的学生
SELECT * FROM Student WHERE BornDate BETWEEN '2000-01-01' AND '2001-01-01'
SELECT * FROM Student WHERE BornDate BETWEEN '2000-01-01' AND '2001-01-01'
IN:查询某一列中内容与所列出的内容列表匹配的记录
--查询学生地址为黑龙江或者陕西的学生信息
SELECT * FROM Student WHERE Address IN('黑龙江', '陕西' ,'河北')
SELECT * FROM Student WHERE Address IN('黑龙江', '陕西' ,'河北')
二.聚合函数
--聚合函数
--查询总值
SELECT SUM(STUDENTRESULT) as 学生总成绩 from Result
--查询平均值
SELECT AVG(StudentResult) as 平均成绩 FROM Result
--查询最大值
SELECT MAX(StudentResult) as 最高分 FROM Result
--查询最小值
SELECT MIN(StudentResult) as 最高分 FROM Result
--查询计数
SELECT COUNT(*) as 人数 FROM Result
--查询总值
SELECT SUM(STUDENTRESULT) as 学生总成绩 from Result
--查询平均值
SELECT AVG(StudentResult) as 平均成绩 FROM Result
--查询最大值
SELECT MAX(StudentResult) as 最高分 FROM Result
--查询最小值
SELECT MIN(StudentResult) as 最高分 FROM Result
--查询计数
SELECT COUNT(*) as 人数 FROM Result