mysql查询

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 从哪一个开始,之后的几个。

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值