select 与 where、group by、order by、limit 子句执行优先级比较
当 select 和 其他三种语句的一者或者多者同时出现时,他们之间是存在执行先后顺序的。
他们的优先级顺序是:where > group by > select > order by > limit
目录
1、select 与 where
2、group by 与 where 、select
2、select 与 order by
3、order by 与 limit
4、优先级证明
1、select 与 where
select是展示查询结果,where是条件筛选。这里存在两种情况:
- select先,where后:先查询到所有的记录,然后再按条件筛选出符合条件的,
- where先,select后:筛掉不符合条件的,然后再展示符合条件的
很显然,后者是效率比较高的,站在C语言的逻辑就是,for循环遍历所有的记录,每遍历一条记录就判断该记录是否符合条件,不符合就舍弃;符合条件就加入到数组。
因此,where > select
2、group by 与 where 、select
where 是整表记录的筛选,group by是根据某一个字段的内容进行分组。
先进行整表筛选可以减少要分组的记录,然后group by 在筛选完的基础上进行分组,最后select在每一个分组中做查询操作。
因此,where > group by > select
2、select 与 order by
select是展示查询结果,order by 是排序,这里同样也分为两种情况:
- select先,order by后:先查询到所有的记录,然后排序
- order by先,select后:每遍历到一条记录,就对其进行排序,这样很显然,效率不高,说不定要重复遍历之前的记录
因此,前者的效率高一点,即 select > order by
3、order by 与 limit
order by 是排序,limit是截取,这里已经无需比较了,很显然是先排序,然后再截取,因为先选出几行,然后再排序没有意义。
因此,order by > limit
4、优先级证明
从上述介绍可以得出优先级顺序:where > select > order by > limit
我们可以在select语句中,为某个字段起一个别名,按照上述优先级,where子句中是无法使用该别名的,但是 order by 和 limit 子句可以使用该别名。
where中无法使用 select 定义的别名
![]()
但是order by中可以使用select定义的别名

相关文章:
select 与 where、group by、order by、limit 子句执行优先级比较
当 select 和 其他三种语句的一者或者多者同时出现时,他们之间是存在执行先后顺序的。 他们的优先级顺序是:where > group by > select > order by > limit 目录 1、select 与 where 2、group by 与 where 、select 2、select 与 order…...
【Docker】用开源umami监控你的站点访问量
新年到,祝大家兔年吉祥!🎉 1.介绍 umami是一个开源的站点访问量监看程序,其支持docker部署到自己的服务器上。相比较百度等收费的网站信息监看,这种方式对于小站长来说更加实惠一些 2.docker安装的坑 2.1 docker-co…...
java环境配置
java环境配置步骤下载jdk安装jdk配置环境变量通过控制台命令验证配置是否成功大功告成安装教程: https://blog.csdn.net/m0_37220730/article/details/103585266 下载jdk 若不理解JDK/JRE/JVM的关系,可以点此查看初识Java(概念、版本迭代、…...
Linux系统服务:Apache安装及配置应用
目录 一、Apache安装 1、Apache简介 2、Yum安装 3、编译安装 4、服务管理 5、编译安装实现systemctl服务管理 二、Apache配置应用 1、基础应用 2、隐藏版本号 3、更改监听端口 一、Apache安装 1、Apache简介 Apache即阿帕奇是一款开源的、世界使用排名第一的Web服务…...
动态规划(Dynamic Programming)——背包问题
动态规划(Dynamic Programming) 背包问题 目录动态规划(Dynamic Programming)背包问题01背包问题输入格式输出格式数据范围输入样例输出样例:二维一维完全背包问题多重背包问题输入格式输出格式数据范围输入样例输出样例:数据范围二进制优化分组背包问题…...
JVM学习02:内存结构
JVM学习02:内存结构 1. 程序计数器 1.1、定义 Program Counter Register 程序计数器(寄存器) 作用:是记住下一条jvm指令的执行地址 特点: 是线程私有的不会存在内存溢出 1.2、作用 程序计数器物理上是由寄存器来实…...
6年软件测试经验,从我自己的角度理解自动化测试
接触了不少同行,由于他们之前一直做手工测试,现在很迫切希望做自动化测试,其中不乏工作5年以上的人。 本人从事软件自动化测试已经近6年,从server端到web端,从API到mobile,切身体会到自动化带来的好处与痛楚…...
三种方式查看linux终端terminal是否可以访问外网ping,curl,wget
方法1:ping注意不要用ping www.google.com.hk来验证,因为有墙,墙阻止了你接受网址发回的响应数据。即使你那啥过,浏览器都可以访问Google,terminal里面也是无法得到响应 百度在墙内,所以可以正常拿到响应信…...
【Call for papers】SIGCOMM-2023(CCF-A/计算机网络/2023年2月15日截稿)
ACM SIGCOMM is the flagship annual conference of the ACM Special Interest Group on Data Communication (SIGCOMM). ACM SIGCOMM 2023, the 37th edition of the conference series, will be held in New York City, US, September 10 - 14, 2023. 文章目录1.会议信息2.时…...
Chapter5:机器人感知
ROS1{\rm ROS1}ROS1的基础及应用,基于古月的课,各位可以去看,基于hawkbot{\rm hawkbot}hawkbot机器人进行实际操作。 ROS{\rm ROS}ROS版本:ROS1{\rm ROS1}ROS1的Melodic{\rm Melodic}Melodic;实际机器人:Ha…...
[acwing周赛复盘] 第 90 场周赛20230211 补
[acwing周赛复盘] 第 90 场周赛20230211 补 一、本周周赛总结二、 4806. 首字母大写1. 题目描述2. 思路分析3. 代码实现三、4807. 找数字1. 题目描述2. 思路分析3. 代码实现四、4808. 构造字符串1. 题目描述2. 思路分析3. 代码实现六、参考链接一、本周周赛总结 T1 模拟T2 模拟…...
数组
一、数组中重复的数字题目描述:在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1…...
MicroBlaze系列教程(4):AXI_UARTLITE的使用
文章目录 @[toc]AXI_UARTLITE简介MicroBlaze添加串口IP常用函数使用示例参考资料工程下载本文是Xilinx MicroBlaze系列教程的第4篇文章。 AXI_UARTLITE简介 axi_uartlite是Xilinx提供axi-lite接口的通用串口IP核,用AXI-Lite总线接口和用户进行交互,速度可以根据不同的芯片调…...
GO 中的 init 函数
前言 go 语言中有一个非常神奇的函数 init ,它可以在所有程序执行开始前被执行,并且每个 package 下面可以存在多个 init 函数,我们一起来看看这个奇怪的 init 函数。 init 特性 init 函数在 main 函数之前执行,并且是自动执行;…...
使用C#编写k8s CRD Controller
本文项目地址:k8s-crd - Repos (azure.com)CRDCRD指的是Custom Resource Definition。开发者更多的关注k8s对于容器的编排与调度,这也是k8s最初惊艳开发者的地方。而k8s最具价值的地方是它提供了一套标准化、跨厂商的 API、结构和语义。k8s将它拥有的一切…...
Ansible---playbook剧本
目录 引言:什么是playbook? 一、Playbook 1.1、playbook中的核心元素 1.2、playbook中的基础组件 1.3、playbook格式说明 1.4、实例:httpd服务剧本 二、playbook中的模块 2.1、Templates 模块 2.2、tags 模块 2.3、Roles 模块 引言&…...
Delphi 中TImageCollection和TVirtualImageList 控件实现high-DPI
一、概述RAD Studio允许你通过使用TImageCollection组件和TVirtualImageList组件,在你的Windows VCL应用程序中包含缩放、高DPI、多分辨率的图像。这两个组件位于Windows 10面板中:注意:如果你使用FireMonkey进行跨平台应用,请看T…...
Ros中如何给UR5配置自定义工具 | 在Rviz中给UR5机器人装载定义工具 | UR5配置自定义末端执行器
前言 在学习和项目研究的过程中,我需要在Ur5e上装上工具,以对现实场景进行仿真。网上会有一些装载/配置现成的夹爪,例如Robotiq等。但和我们装载自定义工具的场景还有些差异,因此写一篇博客记录,可能有偏差。如果有问…...
数据库 delete 表数据后,磁盘空间为什么还是被一直占用?
插: 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。 坚持不懈,越努力越幸运,大家一起学习鸭~~~ 最近有个上位机获取下位机上报数据的项目,…...
docker-微服务篇
docker学习笔记1.docker简介1.1为什么会出现docker?1.2docker理念1.3虚拟机(virtual machine)1.4容器虚拟化技术1.5一次构建到处运行2.docker安装2.1前提条件2.2docker基本构成2.3docker安装步骤*2.4测试镜像3.docker常用命令3.1 启动docker3…...
ZonyLrcToolsX:轻松获取完美歌词的跨平台解决方案
ZonyLrcToolsX:轻松获取完美歌词的跨平台解决方案 【免费下载链接】ZonyLrcToolsX ZonyLrcToolsX 是一个能够方便地下载歌词的小软件。 项目地址: https://gitcode.com/gh_mirrors/zo/ZonyLrcToolsX 你是否曾经为音乐播放器缺少歌词而烦恼?是否厌…...
别再手动拷贝DLL了!用批处理一键搞定NX二次开发EXE的环境变量配置(VS2015+NX12)
NX二次开发环境配置革命:批处理脚本全自动解决方案 引言 对于NX二次开发工程师来说,最令人头疼的莫过于每次编译后的EXE文件无法直接运行的问题。传统解决方案要么需要手动拷贝DLL文件,要么必须将EXE放置到特定目录下,这些方法不仅…...
3步解锁联想刃7000k BIOS隐藏功能:安全提升硬件性能的完整指南
3步解锁联想刃7000k BIOS隐藏功能:安全提升硬件性能的完整指南 【免费下载链接】Lenovo-7000k-Unlock-BIOS Lenovo联想刃7000k2021-3060版解锁BIOS隐藏选项并提升为Admin权限 项目地址: https://gitcode.com/gh_mirrors/le/Lenovo-7000k-Unlock-BIOS 联想刃7…...
2026 流量卡办理全攻略:从下单、激活到售后,新手一遍看懂不踩坑
现在人人都离不开手机流量,不管是日常刷视频、追剧观影,还是备用机上网冲浪,一张划算又正规的通用流量卡,已经成为大众刚需。但很多新手第一次在线办理优惠号卡,普遍一头雾水:分不清流量卡是否正规靠谱、办…...
Matlab实战:基于EGM2008模型与球谐函数解析全球重力梯度场
1. 地球重力场模型与EGM2008简介 地球重力场是描述地球质量分布的重要物理场,它影响着卫星轨道、海平面变化甚至我们日常使用的导航系统。想象一下,如果把地球比作一个表面凹凸不平的土豆,重力场就是描述这个"土豆"各处引力大小的地…...
测水位·报雨情·预洪水:水文监测站
水文监测站采用先进平面阵列雷达微波探测技术,设备悬空架设、非接触式采集河道水体数据。通过高精度雷达天线持续发射微波信号,穿透空气介质触达水面后反射回波,系统精准测算信号传播时长与多普勒频移变化,结合设备自带角度校准功…...
数据标注平台搭建:支持主动学习的智能标注工具
在软件测试领域,测试数据的质量直接决定了测试覆盖率和缺陷发现能力。随着AI驱动测试的兴起,高质量标注数据成为训练测试预言、缺陷预测模型、自动化测试脚本生成等智能测试工具的核心资产。然而,传统的人工标注方式效率低下、一致性差&#…...
【信息科学与工程学】【数据科学】 第三篇 数学基础
数学知识体系:现代核心领域的深度架构 数学知识体系:历史脉络与逻辑结构总览表 时代/脉络 核心分支 核心概念/定理/理论 历史渊源/思想脉络 与其他领域的连接 数学哲学/元视角 1. 古典起源与奠基 (公元前 ~ 16世纪) 算术 自然数、素数、整除、欧几里…...
深度解析:3种高效的Windows依赖检测完整方案
深度解析:3种高效的Windows依赖检测完整方案 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist VisualCppRedist AIO项目是一个专业的Microsoft Visual …...
DO-254标准下的航空电子硬件需求追溯实践
1. DO-254标准与需求追踪的核心价值在航空电子硬件开发领域,RTCA/DO-254标准(在欧洲称为ED-80)是确保机载电子硬件(AEH)功能安全的关键规范。该标准于2005年获得FAA(美国联邦航空管理局)和EASA(欧洲航空安全…...
