首页 > 数据库 >MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战

时间:2024-09-24 13:22:38浏览次数:11  
标签:函数 入门教程 编辑 分组 mysql 薪资 where 处理函数

教程来源:B站视频BV1Vy4y1z7EX

001-数据库概述_哔哩哔哩_bilibili

我听课整理的课程的完整笔记,供大家学习交流下载:夸克网盘分享

本文内容为完整笔记的第五篇

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段

17、单行数据处理函数P30-36&分组函数

  • 17.1、数据处理函数又被称为单行处理函数单行处理
  • 函数的特点:一个输入对应一个输出。
  • 和单行处理函数相对的是:多行处理函数。(多行处理函数特点:多个输入,对应1个输出!)
  • 17.2、单行处理函数常见的有哪些?
  • 1、Lower 转换小写

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_分组函数_02

编辑

  • 2、upper 转换大写

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_03

编辑

  • 3、substr 取子串(substr(被截取的字符串,起始下标,截取的长度))

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_分组函数_04

编辑

  • 案例:首字母大写?

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_数据_05

编辑

  • 4、length 取长度

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_06

编辑

空格是as省略重命名的意思

  • 5、trim 去空格

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_07

编辑

  • 6、str_to_date 将字符串转换成日期
  • 7、date format格式化日期
  • 8、format 设置千分位
  • 9、round 四舍五入
  • select后面也可以跟字面量/字面值(数据)

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_08

编辑

  • 保留整数位,1位小数,2位小数

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_数据_09

编辑

  • 保留到十位

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_数据_10

编辑

  • 10、rand()生成随机数
  • rand()生成0-1之间的随机数,可以对其处理成100以内随机数

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_11

编辑

  • 11、ifnull 可以将 null 转换成一个具体值
  • ifnull是空处理函数。专门处理空的.
  • 在所有数据库当中,只要有NULL参与的数学运算,最终结果就是NULL.

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_12

编辑

  • 注意:NULL只要参与运算,最终结果一定是NULL。为了避免这个现象,需要使用ifnul1函数,ifnul1函数用法:1fnul1(数据.被当做哪个借)
  • 如果"数据"为NULL的时候,把这个数据结构当做哪个值
  • 补助为NULL的时候,将补助当做0

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_13

编辑

  • 12、case..when..then..when..then..else..end
  • 当员工的工作岗位是MANAGER的时候,工资上调10%,当工作岗位是SALESMAN的时候,工资上调50%,其它正常。(注意:不修改数据库,只是将查询结果显示为工资上调)

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_14

编辑

  • 18、分组函数(多行处理函数)
  • 多行处理函数的特点输入多行,最终输出一行。
  • 5个:
  • count计数
  • sum求和
  • avg平均值
  • max最大值
  • min最小值
  • 注意:
  • 分组函数在使用的时候必须先进行分组,然后才能用。
  • 如果你没有对数据进行分组,整张表默认为一组。
  • 五个分组函数使用示例
  • 找出最高工资?

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_数据_15

编辑

  • 找出最低工资?

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_16

编辑

  • 计算工资和:

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_分组函数_17

编辑

  • 计算平均工资:

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_分组函数_18

编辑

  • 计算员工数量?

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_19

编辑

  • 分组函数在使用的时候需要注意哪些?
  • 第一点:分组函数自动忽略NULL,你不需要提前对NULL进行处理。

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_20

编辑

  • 第二点:分组函数中count(*)和count(具体字段)有什么区别?

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_分组函数_21

编辑

  • 第三点:分组函数不能够直接使用在where子句中。

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_数据_22

编辑

  • 第四点:所有的分组函数可以组合起来一起用。

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_23

编辑

  • 19、分组查询(非常重要:五颗星*****)
  • 19.1、什么是分组查询?
  • 在实际的应用中,可能有这样的需求,需要先进行分组,然后对每一组的数据进行操作
  • 这个时候我们需要使用分组查询,怎么进行分组查询呢?

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_24

编辑

  • 19.2、将之前的关键字全部组合在一起,来看一下他们的执行顺序?
  • 关键词

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_分组函数_25

编辑

  • 以上关键字的顺序不能颠倒,需要记忆.
  • 执行顺序是什么?

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_数据_26

编辑

  • 为什么分组函数不能直接使用在where后面?

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_27

编辑

  • 为什么没分组,select后面也可以直接用分组函数?

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_分组函数_28

编辑

  • 19.3、找出每个工作岗位的工资和?
  • 实现思路:按照工作岗位分组,然后对工资求和。

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_分组函数_29

编辑

  • select后面只能跟:参加分组的字段,以及分组函数。

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_30

编辑

  • 重点结论:
  • 在一条select语句当中,如果有group by语句的话,select后面只能跟:参加分组的字段,以及分组函数。
  • 其它的一律不能跟。
  • 19.4、找出每个部门的最高薪资
  • 实现思路是什么?
  • 按照部门编号分组 ,求每一组的最大值。

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_数据_31

编辑

  • 19.5、找出"每个部门,不同工作岗位"的最高薪资?
  • 技巧:两个字段联合成1个字段看。(两个字段联合分组)

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_分组函数_32

编辑

  • 19.6、使用having可以对分完组之后的数据进一步过滤。
  • having不能单独使用,having不能代替where,
  • having必须和group by联合使用
  • 找出每个部门最高薪资,要求显示最高薪资大于3000的?

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_数据_33

编辑

  • 思考一个问题:以上的sql语句执行效率是不是低?
  • 比较低,实际上可以这样考虑:先将大于3000的都找出来,然后再分组.

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_分组函数_34

编辑

  • 优化策略:where和having优先选where,where实在完成不了了,再选择having
  • 19.7、where没办法的????
  • 找出每个部门平均薪资,要求显示“平均薪资”高于2500的。

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_字段_35

编辑

  • 20、大总结(单表的查询学完了)
  • 已学关键词和顺序

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_数据_36

编辑

  • 执行过程顺序
  • from从某张表中查询数据,
  • 先经过where条件筛选出有价值的数据
  • group by对这些有价值的数据进行分组.
  • 分组之后可以使用having继续筛选.
  • select查询出来.
  • 最后order by排序输出!
  • 找出每个岗位的平均薪资,要求显示平均薪资大于1500的,除MANAGER岗位之外,要求按照平均薪资降序排。

MySQL零基础入门教程-5 单行处理函数、分组函数、mysql关键字执行顺序,基础+实战_数据_37

编辑

标签:函数,入门教程,编辑,分组,mysql,薪资,where,处理函数
From: https://blog.51cto.com/u_17026129/12098600

相关文章

  • MySQL零基础入门教程-4 查询数据排序,基础+实战
    教程来源:B站视频BV1Vy4y1z7EX001-数据库概述_哔哩哔哩_bilibili我听课收集整理的课程的完整笔记,供大家学习交流下载:夸克网盘分享本文内容为完整笔记的第四篇15、排序P26-2915.1、查询所有员工薪资,排序?orderby默认升序编辑15.2怎么降序-desc 怎么升序-ascdesc(descond)指定降序......
  • SpringBoot-3.3.4最新快速入门教程二整合Mybatis
    Hello,大家好,我是Feri,一枚十多年的程序员,同时也是一名在读研究生,关注我,且看一个平凡的程序员如何在自我成长,CodingSir是我想打造一个编程社区,只为各位小伙伴提供编程相关干货知识,希望在自我蜕变的路上,我们一起努力,努力什么时候开始都不晚,我,从现在开始做起!一、前言     ......
  • MySQL8.4.0安装
    1.官网下载压缩包官网地址:https://downloads.mysql.com/archives/community/2.选取需要的包上传Linux下载完成:解压完成:从中选取下列rpm包:上传至linux:这里上传到路径:/usr/local/mysql(cd/usr/local/;sudomkdirmysql#没有就创建 )3.按顺序下载(rpm)  ......
  • mysql8版本将用户host中的localhost不小心改掉后解决的办法
    在昨天因为某些原因需要给其他外部ip连接我的mysql,所以就上网找了怎么办,找到的办法是将host中localhost改成'%',这确实是可行的。但是由于本人小脑一抽决定先改成其他的试一试,后果就是直接gg,直接报错没有权限无法连接了(由于本人已经解决这个问题了,没有图放了)。下面来说一下解......
  • MySQL线上问题排查
    线上问题排查一、线上故障排查的思路与方向在程序开发与运行过程中,出现Bug问题的几率无可避免,数据库出现问题一般会发生在下述几方面:①撰写的SQL语句执行出错,俗称为业务代码Bug。②开发环境执行一切正常,线上偶发SQL执行缓慢的情况。③线上部署MySQL的机器故障,如磁盘、内存、......
  • MySQL性能优化
    性能调优MySQL调优的五个维度对于MySQL的性能优化,其实也可以从多个维度出发,共计优化项如下:①客户端与连接层的优化:调整客户端DB连接池的参数和DB连接层的参数。②MySQL结构的优化:合理的设计库表结构,表中字段根据业务选择合适的数据类型、索引。③MySQL参数优化:调整参数的默......
  • MySQL基础
    MySQL基础MySQL的整体架构从上往下看,依次会分为网络连接层、系统服务层、存储引擎层、以及文件系统层,往往编写SQL后,都会遵守着MySQL的这个架构往下走。连接层:主要是指数据库连接池,会负责处理所有客户端接入的工作。服务层:主要包含SQL接口、解析器、优化器以及缓存缓冲区四块......
  • Java项目实战II基于Java+Spring Boot+MySQL的大学生入学审核系统(文档+源码+数据库)
    目录一、前言二、技术介绍三、系统实现四、文档参考五、核心代码六、源码获取全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者一、前言二、技术介绍语言:Java使用框架:SpringBoot前端技术:JS、Vue、css3开发工具:IDEA/Eclipse数据库:MySQL5.7/8.0数......
  • mysql学习笔记2
    书接上回,重新进入mysql,继续学习新内容。1.进入mysql并新建数据库sudomysql-uroot-pcreatedatabasetest_database;usetest_database;selectdatabase();可以看到mysql>selectdatabase();+---------------+|database()|+---------------+|test_databa......
  • MySQL主从复制中启用GTID(全局事务标识符)模式
    在MySQL中启用GTID(全局事务标识符)模式进行主从复制涉及几个步骤。GTID为每个事务赋予一个唯一的标识符,从而简化了复制过程和故障恢复。以下是启用GTID模式的基本步骤:首先确保两台数据库目前数据保持一致1.准备工作确保您使用的MySQL版本支持GTID。GTID从MySQL5.6版本开始支持......