AI智能
改变未来

MySQL学习 第二天

MySQL学习 第二天

  • 分组函数
  • 单行处理函数
  • group by 和 having
  • 本次总结必须要记住的重点:

个人总结的可能不是很好 ,有不对的请说哦。

模糊查询(like)
在模糊查询中,必须掌握两个特殊的符,一个是%,一个是_

%
代表多个字符。
_
代表任意1个字符。

排序
升序
select eanme,sql from emp order by sql;
注意

默认是升序。怎么指定升序或者降序呢?asc表示升序,desc表示降序。

select ename,sql from emp order by sql asc;
select ename,sql from emp order by sql asc;

越靠前的字段越能起到主导作用,只有当前面的字段无法排序,才会启动后面的字段。

随便说一下 order是最后执行的

分组函数

  • count 计数
  • sum 求和
  • avg 平均值
  • max 最大值
  • min 最小值

记住

所有的分组函数都是对“某一组”数据进行操作。

求和 sum
select sum(sal) from emp;
最大值 max
select max(sal) from emp;
最小值 min
select min(sal) from emp;
平均值 avg
select avg(sal) from emp;
计数 count
select count(ename) ftom emp;

分组函数一共个。分组函数还有另一个名字,多行处理函数,多行处理函数的特点:输入多行,最终输出结果1行。

重点
分组函数自动忽略NULL。

记住

count() 和 count(具体的某个字段),他有什么区别呢
cout() 不是统计某个字段中的数据个数,而是统计总记录条数。(和某个字段物关)
count(具体的某个字段) 表示统计cornm不为NULL的总数量。

分组函数也可以组合来使用
案例:

select count(*),sum(sal),avg(sal),max(sal) from emp;

单行处理函数

什么是单行处理函数
输入一行,输出一行。

注意:

所有数据库都是这样的,只要有NULL参与的运算结果一定是NULL。

ifnull空处理函数:

ifnull ( 可能为NULL的数据 , 被当作什么处理 )
属于单行处理函数。

注意重点:

SQL语句当中有一个语法规则,分组函数不可直接出现在where函数中。
原因
group by 在 where执行后执行。

group by 和 having

guroup by:按照某个字段或者某些字段精选分组。
having:having是对分组之后的数据进行再次过过滤

案例: 找出每个工作岗位最高薪资。

select may(sal) from emp group group by job;

注意:

分组函数一般都会和group by联合使用,这也是为什么会被称呼为分组函数的原因。并且然后一个分组函数(count,sum,avg,max,min)都是在group by语句执行结束后才会执行。当一条sql语句中没有group by的话,整张表自成一组。

执行顺序
select 5

from 1

where 2

group by 3

having 4

order 6

selectfromwheregrouphavingoreber

本次总结必须要记住的重点:

分组函数
输入多行,最终输出结果1行

分组函数自动忽略NULL

SQL语句当中有一个语法规则,分组函数不可直接出现在where函数中。
原因
group by 在 where执行后执行。

单行处理函数

输入一行,输出一行

赞(0) 打赏
未经允许不得转载:爱站程序员基地 » MySQL学习 第二天