Home >Database >Mysql Tutorial >模糊查询和聚合函数_MySQL
1.使用 LIKE、BETWEEN、IN 进行模糊查询
2.使用聚合函数统计和汇总查询信息
在模糊查询中,我们要学习的内容:
10.1.1 通配符
10.1.2 使用 LIKE 进行模糊查询
10.1.3 使用 BETWEEN 在某个范围内进行查询
10.1.4 使用 IN 在列举值内进行查询
通配符
简单地讲,通配符是一类字符,它可以代替一个或多个真正的字符,查找信息时作为替代字符出现。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 等 |
使用 LIKE 进行模糊查询
LIKE 运算符用于匹配字符串或字符串的一部分,由于该运算符只用于字符串,所以仅与字符数据类型(如 char 或 varchar 等) 联合使用。在数据更新、删除或者查询的时候,依然可以使用 LIKE 关键字进行匹配查找:
select * from student
where Address like '北京'
使用 BETWEEN 在某个范围内进行查询
使用关键字 BETWEEN 可以查找那些介于两个已知值之间的一组未知值,要实现这种查找,必须知道查找的初值和终值,并且初值要小于终值,初值和终值用 AND 关键字分开。如下:
--查找班级在1-3之间的学生
select * from Student
where GradeId between 1 and 3
使用 IN 在列举值内进行查询
查询的值是指定的某些值之一,可以使用带列举值的 IN 关键字来进行查询。将列举值放在圆括号里,用逗号分开。列如:
--查询地址是北京、上海、厦门的学生
select * from student
where address in('北京','上海','厦门')
在使用聚合函数统计和汇总查询信息的学习中,我们主要学习了四种函数:
10.2.1 SUM()函数
10.2.2 AVG()函数
10.2.3 MAX()函数和 MIN()函数
10.2.4 COUNT()函数
SUM()函数
SUM()函数只能用于数字类型的列,不能够汇总字符、日期等其他数据类型。列如:
--查询全班学生的总成绩
select sum(studentresult) as 全班学生的总分
from result
AVG()函数
AVG()函数也只能用于数字类型的列。例如:
--查询全班学生的平均分
select avg(studentresult) as 全班学生的平均分
from result
MAX()函数和 MIN()函数
MAX()函数是返回值表达式中的最大值,MIN()函数是返回值表达式中的最小值,这两个函数同样都忽略任何空值,并且他们都可以用于数字型、字符串及日期/时间类型的列。对于字符序列,MAX()函数查找排序序列的最大值。而MIN()函数同理,返回排序序列的最小值。例如:
--班级的平均分、最高分和最低分
select AVG(Studentresult) as 平均分,MAX(Studentresult) as 最高分,MIN(Studentresult) AS 最低分
from Result
COUNT()函数
COUNT ()函数返回提供的组或记录集中地计数,COUNT()函数可以用于除去 text、image、ntext以外任何类型的列。另外,也可以使用星号(*)作为COUNT的表达式,使用星号可以不必指定特定的列而计算所有的行数,当对所有的行进行计数时,则包括包含空值得行。例如:
--记录总数
select count(Studentresult) as 总记录数
from result