今天学习了排序和数数据处理函数,排序在实际业务中比较常用的,如:按上面条件进行升序,降序等。
知识点:asc(默认升序) desc 降序
一、排序(order by)
1、select ename,sal from emp order by sal;//使用单个字段排序,默认是升序排 asc 查询员工的姓名、工资,按工资的升序排序
2、select ename,sal from emp order by sal asc,ename desc;//可以按多个字段排序,desc是降序排 查询员工的姓名、工资,按工资的升序排序,姓名按降序
3、select ename,sal from emp order by 2;//按位置排序,一般不用,因为健壮性不如第1条好,但是别人写要能看的懂, 和第一条查询的结果一致,
二、数据处理函数/单行数据处理函数
Lower 转小写
Upper 转大写
Substr 截取字符
Trim 去除空格
Longth 统计记录值长度
Round 四舍五入
rand求随机数
ifnull 可以将null转换成一个具体的值
1、select lower(ename) as ename from emp;//将姓名转化为小写,底层基础不变
2、select upper(ename) as ename from emp;//将姓名转化为大写
3、select substr(ename,1,1) from emp;//3个参数,1、被截取的字段、2、起始位置,3、截取长度
3、select ename from emp where substr(ename,2,1)='A';//查找姓名中第二个字母为A的姓名
或select ename from emp where ename like '_A%';//效果同上
4、select length(ename) from emp;//统计姓名的长度
5、select ename from emp where ename=trim( 'SIMITH' );//去除空格
6、select round (123.456,2) from emp;//四舍五入,保留2位小数
6、select round (123.456,1) from emp;// 四舍五入,保留1位小数
7、select round (123.456,3) from emp;//四舍五入,保留3位小数
8、select round (123.456,0) from emp;// 四舍五入,没有小数位
9、select rand() //生成随机数
10、select rand() *100//生成100随机数
11、select round(rand() *100);//生成100整数随机数
12、select ename,ifnull(comm,0) comm from emp;//将补助为空的员工,补助显示为0
13、select ename,ifnull(comm,100) sal rom emp;//将补助为空的员工,每月补助加100
14、select ename,(sal+ifnull(comm,0))*12 yearsal from emp;//计算员工的年薪
15、select lower(substr(ename,1,1)) from emp;//从第1格位置截取姓名长度为1并将其转化为小写;
三、总结
今天学的比较多,需要多练习,才能熟练掌握。