一、ORDER BY

含义:order by 排序字段,
order by默认采用升序(asc),
如果存在 where 子句,那么 order by 必须放到 where 询句后面。

select ename,job,sal 
from emp 
where job = ‘MANAGER’order by sal; 


select ename,job,ename 
from emp 
order by job desc,sal desc; 

先根据job排序,在排sal

二、单行处理函数

Lower 转换小写
Upper 转换大写
substr 取子串(substr(字段名,起始下标,截取的长度))
length 取长度
trim 去空格
str_to_date 将字符串转换成日期
date_format 格式化日期
format 设置千分位
round (数字,保留小数位数)凼数:四舍五入
rand() 生成随机数
Ifnull 可以将null转换成一个具体值(字段名,替换0)
select ename,ifnull(comm,0) from emp;
注意:数据处理函数是该数据本身特有的,有些函数可能在其它数据库不起作用;

三、分组函数(sum,min,max,avg,count)

分组函数自动忽略空值,不需要手劢增加where条件排除空值;
分组凼数不能直接使用在where关键字后面
distinct 去除重复值
distinct只能出现在所有字段最前面,后面如果有多个字段及为多字段联合去重

四、where和having 区 别 .

where 和 having 都是 为 了 完 成 数 据 的 过 滤 , 它 们 后 面 都 是 添 加 条 件 ,
where 是 在 group by 之前 完 成 过 滤 ;
having 是 在 group by 之后 完 成 过 滤 ;

五、执行顺序

from : 将硬盘上的表文件加载到内存
where: 将符合条件的数据行摘取出来。生成一张新的临时表
group by :根据列中的数据种类,将当前临时表划分成若干个新的临时表
having : 可以过滤掉group by生成的不符合条件的临时表
select : 对当前临时表迚行整列读取
order by : 对select生成的临时表,迚行重新排序,生成新的临时表
limit : 对最终生成的临时表的数据行,迚行截取。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐