💖✨MySQL一万字深度总结,基础+进阶(二)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介: 数据库是存放数据的仓库。它的存储空间很大,可以存放百万条、千万条、上亿条数据。但是数据库并不是随意地将数据进行存放,是有一定的规则的,否则查询的效率会很低。数据库是一个按数据结构来存储和管理数据的计算机软件系统。

1.排序(升序,降序)


语法格式:

select      
字段值1,字段值2...
from
表名
order by
字段值;
复制代码


1.1 按照工资升序,找出员工名和薪资


select ename,sal from emp order by sal; (这个为默认,默认升序)

微信截图_20220608082545.png

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

select ename,sal from emp order by sal; (默认升序)

select ename,sal from emp order by sal asc;

select ename,sal from emp order by sal desc;

微信截图_20220608082558.png

1.2按照工资的降序排列,当工资相同的时候在按照名字的升序排列。


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

注意: 越靠前的字段越能起主导作用。只有当前面的字段无法完成排序的时候,才会启用后面的字段。

练手:

select ename,sal from emp order by 1;

微信截图_20220608082609.png

select ename,sal from emp order by 2;

微信截图_20220608082618.png

select * from emp order by 6;

微信截图_20220608082722.png

1.3找出工作岗位是 SALESMAN 员工,并且要求按照薪资的降序排序

select
     ename,job,sal
 from
    emp
 where
    job = 'SALESMAN'
 order by 
    sal desc;
复制代码

微信截图_20220608082732.png

执行顺序 : 先执行from,在执行where,在执行select,最后在执行order by 。

select
    *      3
from
tablename  1
where          
    条件    2
order by    
    ...    4
复制代码

order by 是最后执行的。


2.分组函数


2.1分组函数/聚合函数/多行处理函数


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

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


2.2找出工资的总和?


select sum(sal) from emp;

微信截图_20220608082939.png

2.3找出最高工资


select max(sal) from emp;

微信截图_20220608083009.png

2.4找出最低工资


select min(sal) from emp;

微信截图_20220608083035.png

2.5找出平均工资


select avg(sal) from emp;

微信截图_20220608083044.png

2.6找出总人数


select count(*) from emp;

微信截图_20220608083055.png

select count(ename) from emp;

微信截图_20220608083151.png

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


2.7分组函数自动忽略NULL。


select count(comm) from emp;

微信截图_20220608083202.png

select sun(comm) from emp;

微信截图_20220608083215.png

多此一举:不需要添加这个额外的过滤条件,分组函数自动忽略null

select sum(comm) from emp where comm is not null;


2.8找出工资高于平均工资的员工


第一步 : 找出平均工资

select avg(sal) from emp;

微信截图_20220608083230.png

第二步 : 找出工资高于平均工资的员工

select ename,sal from emp where sal > (select avg(sal) from emp);

微信截图_20220608083354.png

以下的错误信息:无效的使用了分组函数。

微信截图_20220608083406.png

以上的错误原因:**SQL语句当中有一个语法规则,分组函数不可以直接使用在where子句当中。

因为group by 是在 where 执行之后才会执行的。

select  5
 ...
 from    1
 ... 
 where   2
 ...
 group by  3
 ...
 having   4  
 ...
 order by  6
 ...
复制代码


3.count(*) 和 count(具体某个字段) , 他们有什么区别?


  • count(*) : 不是统计某个字段中数据的个数,而是统计总记录条数。(和某个字段无关)
  • count(comm) : 表示统计comm字段中不为NULL的数据总数量。

select count(*) from emp;

微信截图_20220608083421.png

select count(comm) from emp;

微信截图_20220608083432.png

select count(job) from emp;

微信截图_20220608083547.png

4.分组函数也可以组合起来用

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

微信截图_20220608083600.png



相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
存储 SQL 关系型数据库
MySQL语句详解:从基础到进阶的全面指南
MySQL语句详解:从基础到进阶的全面指南
|
3月前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第三篇(MySQL性能优化)
MySQL数据库进阶第三篇(MySQL性能优化)
|
3月前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
MySQL数据库进阶第六篇(InnoDB引擎架构,事务原理,MVCC)
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库进阶第五篇(锁)
MySQL数据库进阶第五篇(锁)
|
3月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(2)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
3月前
|
存储 SQL 关系型数据库
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】(1)
MySQL 进阶使用【函数、索引、视图、存储过程、存储函数、触发器】
|
2月前
|
存储 关系型数据库 MySQL
MySQL数据库开发进阶:精通数据库表的创建与管理22
【7月更文挑战第22天】数据库的创建与删除,数据表的创建与管理
40 1
|
3月前
|
JSON 关系型数据库 MySQL
MySQL常用函数解读:从基础到进阶的全方位指南
MySQL常用函数解读:从基础到进阶的全方位指南
|
3月前
|
SQL 关系型数据库 MySQL
Python进阶第二篇(Python与MySQL数据库)
Python进阶第二篇(Python与MySQL数据库)
|
3月前
|
存储 SQL 关系型数据库
MySQL数据库进阶第四篇(视图/存储过程/触发器)
MySQL数据库进阶第四篇(视图/存储过程/触发器)

热门文章

最新文章