MySQL 语句不区分大小写
where
查询语句后面加上where,where后面为true时,执行
如:
select * from teachers where id>3;
逻辑运算符
and
or
not
模糊查询
1、like 模糊查询
2、%表示任意多个任意字符
3、_表示一个任意字符
空判断
注意:null与''是不同的
判空 is null
优先级
小括号,not,比较运算符,逻辑运算符
and比or先运算,如果同时出现并希望先算or,需要结合()使用
聚合
为了快速得到统计数据,提供了5个聚合函数
1、count(*)表示计算总行数,括号中写星与列名,结果是相同的
2、max(列)表示求此列的最大值
3、min(列)表示求此列的最小值
4、sum(列)表示求此列的和
5、avg(列)表示求此列的平均值
分组
按照字段分组,表示此字段相同的数据会被放到一个组中
分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中
可以对分组后的数据进行统计,做聚合运算
语法:
select 列1,列2,聚合...from 表名 group by 列1,列2,列3...
分组后的数据筛选
语法:
select 列1,列2,聚合...from 表名 group by 列1,列2,列3...having 列1,...聚合...
having 后面的条件运算符与where的相同
对比where与having
where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
having是对group by的结果进行筛选
排序
为了方便查看数据,可以对数据进行排序
语法:
select * from 表名 where 条件 order by 列1 asc|desc,列2 asc|desc,...
将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,依次类推
默认按照列值从小到大排序
asc,升序
desc,降序
完整的查询语句
select distinct *
from 表名
where ...
group by ...having ...
order by ...
limit start,count
执行顺序为
from 表名 //选出表
where ... //第一次进行筛选
group by ...//进行分组
select distinct * //删除有重复的行
having ...//对分组后的进行筛选
order by...//进行排序
limit star,count 从哪一个开始,之后的几个。
where
查询语句后面加上where,where后面为true时,执行
如:
select * from teachers where id>3;
逻辑运算符
and
or
not
模糊查询
1、like 模糊查询
2、%表示任意多个任意字符
3、_表示一个任意字符
空判断
注意:null与''是不同的
判空 is null
优先级
小括号,not,比较运算符,逻辑运算符
and比or先运算,如果同时出现并希望先算or,需要结合()使用
聚合
为了快速得到统计数据,提供了5个聚合函数
1、count(*)表示计算总行数,括号中写星与列名,结果是相同的
2、max(列)表示求此列的最大值
3、min(列)表示求此列的最小值
4、sum(列)表示求此列的和
5、avg(列)表示求此列的平均值
分组
按照字段分组,表示此字段相同的数据会被放到一个组中
分组后,只能查询出相同的数据列,对于有差异的数据列无法出现在结果集中
可以对分组后的数据进行统计,做聚合运算
语法:
select 列1,列2,聚合...from 表名 group by 列1,列2,列3...
分组后的数据筛选
语法:
select 列1,列2,聚合...from 表名 group by 列1,列2,列3...having 列1,...聚合...
having 后面的条件运算符与where的相同
对比where与having
where是对from后面指定的表进行数据筛选,属于对原始数据的筛选
having是对group by的结果进行筛选
排序
为了方便查看数据,可以对数据进行排序
语法:
select * from 表名 where 条件 order by 列1 asc|desc,列2 asc|desc,...
将行数据按照列1进行排序,如果某些行列1的值相同时,则按照列2排序,依次类推
默认按照列值从小到大排序
asc,升序
desc,降序
完整的查询语句
select distinct *
from 表名
where ...
group by ...having ...
order by ...
limit start,count
执行顺序为
from 表名 //选出表
where ... //第一次进行筛选
group by ...//进行分组
select distinct * //删除有重复的行
having ...//对分组后的进行筛选
order by...//进行排序
limit star,count 从哪一个开始,之后的几个。