系列文章目录

第一章 MySQL概述
第二章 MySQL的常用命令
第三章 MySQL中的常用数据类型
第四章 MySQL单行处理函数
第五章 MySQL多行处理函数


前言

前五章我们学习了查询语句的部分常用关键字,并且学会了用它们进行简单的查询操作,那么我们是否应该思考一个问题:select语句只按照我们所写的顺序,从左到右执行的吗?带着这个问题,我们可以用代码来验证它。


select语句的执行顺序是依次从左到右吗?
我们可以对于下表输入select ename, sal from emp where sal >min(sal);来验证一下

从这个语句我们可以看出,这是一条查询并输出“比最低sal值高的ename和sal”的语句,然而输出结果为:

提示组函数使用无效,也就是说,min(sal)在这里是无效的,这是因为我们在第五章说过,组函数必须要先使用group by函数分组后,才能使用,若没有使用group by进行分组,则默认以整张表格作为一组;也就是说在这个语句中,是默认整张表为一组的,既然默认整张表为一组,为什么组函数还是无效呢?

这是因为elect语句的执行顺序并不是按照我们写的顺序从左到右执行的,因为sql语言毕竟是老外发明的东西,语句顺序也是按照他们的习惯,老外的语言跟汉语的语序还是有很大的不同的。select语句中实际的执行顺序为:

从图中我们可以看出,分组函数group by的执行顺序在where之后,也就是说在执行where后面的条件时,group by函数还未被执行,此时还未分组,所以此时无法使用组函数;


总结

以上就是使用组函数需要注意的地方啦,如果您觉得有帮助的话,不妨点个赞再走啊!

MySQL查询语句关键字执行的优先级问题相关推荐

  1. 一条mysql查询语句的执行过程

    当我们执行一条MySQL查询语句时,对于客户端而言是一个很简单的过程,但对于服务端来说其内部却会涉及到一些复杂的组件和处理逻辑.了解MySQL语句的内部执行原理,有助于我们更好地去处理一些复杂的SQL ...

  2. 一文读懂MySQL查询语句的执行过程

    需要从数据库检索某些符合要求的数据,我们很容易写出 Select A B C FROM T WHERE ID = XX  这样的SQL,那么当我们向数据库发送这样一个请求时,数据库到底做了什么? 我们 ...

  3. MySQL - MySQL查询语句的执行过程

    需要从数据库检索某些符合要求的数据,我们很容易写出 Select A B C FROM T WHERE ID = XX 这样的SQL,那么当我们向数据库发送这样一个请求时,数据库到底做了什么? 我们今 ...

  4. Oracle/mysql查询语句的执行过程

    执行顺序 from on join/pivot/unpivot(mysql没有pivot和unpivot) where group by having select distinct order by ...

  5. mysql 查询语句执行顺序_MySQL 查询语句执行过程

    MySQL 查询语句执行过程 Mysql分为server层和存储引擎两部分,或许可以再加一层连接层 连接层(器) Mysql使用的是典型的C/S架构.连接器通过典型的TCP握手完成连接. 需要注的是, ...

  6. mysql 查询语句_MySQL相关(一)- 一条查询语句是如何执行的

    前言 学习一个新知识最好的方式就是上官网,所以我先把官网贴出来 MySQL官网 (点击查阅),如果大家有想了解我没有说到的东西可以直接上官网看哈~目前 MySQL 最新大版本为8.0,但是鉴于目前应用 ...

  7. mysql查询语句能否让一个字段不显示出来_天天写order by,你知道Mysql底层如何执行吗?

    作者:不才陈某 前言 在实际的开发中一定会碰到根据某个字段进行排序后来显示结果的需求,但是你真的理解order by在 Mysql 底层是如何执行的吗?假设你要查询城市是苏州的所有人名字,并且按照姓名 ...

  8. java mysql查询语句_Mysql查询语句执行过程

    Mysql查询语句执行过程 Mysql分为server层和存储引擎两部分,或许可以再加一层连接层 连接层(器) Mysql使用的是典型的C/S架构.连接器通过典型的TCP握手完成连接. 需要注的是, ...

  9. for语句的执行过程_深入学习MySQL 01 一条查询语句的执行过程

    在学习SpringCloud的同时,也在深入学习MySq中,听着,,看着<高性能MySQL>,本系列文章是本人学习过程的总结,水平有限,仅供参考,若有不对之处或有啥建议都可与我联系,感谢! ...

最新文章

  1. java中文版src_java Web开发医药后台管理系统mysql版本源代码下载,支持中英文
  2. 微信好友特征数据分析及可视化
  3. Struts2的2.5.10版本找不到StrutsPrepareAndExecuteFilter过滤器 与 struts.xml文件通配符异常问题
  4. 【Linux系统编程】文件IO操作
  5. 堡垒之夜一年内增1亿玩家、YouTube为支持AV1的8K电视提供8K内容、Elon Musk要过极简生活等...
  6. 8.基本数据结构-顺序表和链表
  7. Linux常用命令笔记2---文件管理2
  8. [小笔记]TypeScript/JavaScript数组转置
  9. linux脚本编程教程,shell脚本编程基础教程
  10. 自己动手写PHP框架(三)
  11. java实现删除本地文件夹
  12. Debian彻底卸载MySQL
  13. 什么是IT人员外包?
  14. UIDocumentPickerViewController docx xlsx
  15. 被遗忘权_HTML:前5个被遗忘的元素
  16. SpringCloud-25-Gateway:动态路由、过滤器使用
  17. OSChina 周一乱弹 ——女人比代码复杂多了,搞不懂!
  18. 中国石油大学《计算机应用基础》第三次在线作业
  19. yum 安装没有公钥_CentOS7.7中使用yum安装进,提示尚未安装任何 GPG 公钥的解决办法...
  20. SQL基础语法练习题(1)

热门文章

  1. 如何利用JSON Schema校验JSON数据格式
  2. me shy是什么歌 抖音make_原来这才是抖音上火爆的5首英文歌的原版?!
  3. 对于迅雷下载器的评价
  4. 测试酒的真假软件,科学简单教你检验真假白酒的4种方法
  5. 解决Ubuntu插拔耳机有杂音现象
  6. 【怀念】感恩演讲——感谢父母
  7. JSP系列教材 (十)- JSTL Java Standard Tag Library 标准标签库
  8. 【腾讯云】用Java发送QQ邮件,实现天气预报推送
  9. Oracle 12c创建表空间、用户
  10. 软件测试界面测试是什么,什么是软件测试的界面测试?