模糊查询和聚合函数查询
模糊查询与聚合函数
1.通配符
通配符是一类字符,它可以代替一个或多个字符。
通配符 解释 示例
_ 一个字符 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关键字进行匹配查找,例如,查找姓张的学生信息:
select * from Students
where SName LIKE '张%'
或者查询住址包含 “北京” 字样的学生信息:
select * from Students
where Saddress LIKE '%北京%'
3.使用BETWEEN在某范围内进行查询
使用关键字BETWEEN可以查找那些介于两个已知值之间的未知值。要实现这种查找,必须知道查找的初值和终值,并且初值要小于终值,初值和终值用AND分开。
例如:查询分数在60到80之间的信息如下:
select * from Score
where Score BETWEEN 60 and 80
4.使用IN在列举值内进行查询
查询的值是指定的某些值之一,可以使用带列举的IN关键字来进行查询。将列举值放在圆括号内,用逗号分开。
例如:查询北京、广州和上海的学生姓名:
select SName as 学生姓名 from Students
where Saddress
IN('北京','广州','上海') order by SAddress
5.SUM () 函数
SUM()函数返回表达式中所有数值的总和,空值将被忽略。SUM()函数只能用于数字类型的列,不能够汇总字符,日期等其他数据类型。
例如:查询学生编号为23的考试总分,可以使用如下查询:
select sun(Score) as 学号为23的学生的总分 from Score
where StudentID=23
6.AVG()函数
AVG()函数返回表达式中所有数值的平均值,空值将被忽略。AVG()函数也只能用于数字类型列
要查询及格线以上的平均值,语句如下:
select AVG(Score) as 平均成绩 from Score
where Score>=60
7.MAX()函数和MIN()函数
MAX()函数返回表达式中最大的值,MIN()函数返回表达式中最小的值,这两个函数都忽略了任何空值,并且他们都可以用于数字型、字符型及日期/时间类型的列。
例如:查询平均成绩、最高分、最低分的语句如下:
select AVG(Score) as 平局成绩,MAX(Score) as 最高分,MIN(Score) as 最低分 from Score
where Score >=60
8.COUNT()函数
COUNT()函数返回提供的组或记录集中的计数。
例如:查询总记录数的语句如下:
select COUNT(*) as 总记录数 from Score
1.通配符
通配符是一类字符,它可以代替一个或多个字符。
通配符 解释 示例
_ 一个字符 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关键字进行匹配查找,例如,查找姓张的学生信息:
select * from Students
where SName LIKE '张%'
或者查询住址包含 “北京” 字样的学生信息:
select * from Students
where Saddress LIKE '%北京%'
3.使用BETWEEN在某范围内进行查询
使用关键字BETWEEN可以查找那些介于两个已知值之间的未知值。要实现这种查找,必须知道查找的初值和终值,并且初值要小于终值,初值和终值用AND分开。
例如:查询分数在60到80之间的信息如下:
select * from Score
where Score BETWEEN 60 and 80
4.使用IN在列举值内进行查询
查询的值是指定的某些值之一,可以使用带列举的IN关键字来进行查询。将列举值放在圆括号内,用逗号分开。
例如:查询北京、广州和上海的学生姓名:
select SName as 学生姓名 from Students
where Saddress
IN('北京','广州','上海') order by SAddress
5.SUM () 函数
SUM()函数返回表达式中所有数值的总和,空值将被忽略。SUM()函数只能用于数字类型的列,不能够汇总字符,日期等其他数据类型。
例如:查询学生编号为23的考试总分,可以使用如下查询:
select sun(Score) as 学号为23的学生的总分 from Score
where StudentID=23
6.AVG()函数
AVG()函数返回表达式中所有数值的平均值,空值将被忽略。AVG()函数也只能用于数字类型列
要查询及格线以上的平均值,语句如下:
select AVG(Score) as 平均成绩 from Score
where Score>=60
7.MAX()函数和MIN()函数
MAX()函数返回表达式中最大的值,MIN()函数返回表达式中最小的值,这两个函数都忽略了任何空值,并且他们都可以用于数字型、字符型及日期/时间类型的列。
例如:查询平均成绩、最高分、最低分的语句如下:
select AVG(Score) as 平局成绩,MAX(Score) as 最高分,MIN(Score) as 最低分 from Score
where Score >=60
8.COUNT()函数
COUNT()函数返回提供的组或记录集中的计数。
例如:查询总记录数的语句如下:
select COUNT(*) as 总记录数 from Score