搜索
首页数据库mysql教程ON、WHERE、HAVING的区别

ON 、WHERE、HAVING都能通过限制条件筛选数据,但他们的使用及其不同。下面我们来分析三者之间的区别。 1. ON 和WHERE 所有的查询都回产生一个中间临时报表,查询结果就是从返回临时报表中得到。ON和WHERE后面所跟限制条件的区别,主要与限制条件起作用的时

ON 、WHERE、HAVING都能通过限制条件筛选数据,但他们的使用及其不同。下面我们来分析三者之间的区别。

1. ON 和WHERE

所有的查询都回产生一个中间临时报表,查询结果就是从返回临时报表中得到。ON和WHERE后面所跟限制条件的区别,主要与限制条件起作用的时机有关,ON根据限制条件对数据库记录进行过滤,然后生产临时表;而WHERE是在临时表生产之后,根据限制条件从临时表中筛选结果。

因为以上原因,ON和WHERE的区别主要有下:

1) 返回结果:在左外(右外)连接中,ON会返回左表(右表)中的所有记录;而WHERE中,此时相当于inner join,只会返回满足条件的记录(因为是从临时表中筛选,会过滤掉不满足条件的)。

2) 速度:因为ON限制条件发生时间较早,临时表的数据集要小,因此ON的性能要优于WHERE。

2. HAVING和WHERE

HAVING和WHERE的区别也是与限制条件起作用时机有关,HAVING是在聚集函数计算结果出来之后筛选结果,查询结果只返回符合条件的分组,HAVING不能单独出现,只能出现在GROUP BY子句中。;而WHERE是在计算之前筛选结果,如果聚集函数使用WHERE,那么聚集函数只计算满足WHERE子句限制条件的数据,例如:

     SELECT COUNT(id) FROM db_equip WHERE tb_equip_type = ‘2’;

Count计算的结果是首先筛选设备类型为2的的设备,然后统计设备类型为2类型的数量。

在使用和功能上,HAVING和WHERE有以下区别:

1) HAVING不能单独出现,只能出现在GROUP BY子句之中;WHERE即可以和SELECT等其他子句搭配使用,也可以和GROUP BY子句搭配使用,WHERE的优先级要高于聚合函数高于HAVING。

2) 因为WHERE在聚集函数之前筛选数据,HAVING在计算之后筛选分组,因此WHERE的查询速度要比HAVING的查询速度快。

3. 总结

ON、WHERE、HAVING的主要差别是其子句中限制条件起作用时机引起的,ON是在生产临时表之前根据条件筛选记录,WHERE是从生产的临时表中筛选数据,而HAVING是对临时表中满足条件的数据,进行计算分组之后,通过HAVING限制语句筛选分组,返回结果是满足HAVING子句限制的分组。
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
华为GT3 Pro和GT4的差异是什么?华为GT3 Pro和GT4的差异是什么?Dec 29, 2023 pm 02:27 PM

许多用户在选择智能手表的时候都会选择的华为的品牌,其中华为GT3pro和GT4都是非常热门的选择,不少用户都很好奇华为GT3pro和GT4有什么区别,下面就就给大家介绍一下二者。华为GT3pro和GT4有什么区别一、外观GT4:46mm和41mm,材质是玻璃表镜+不锈钢机身+高分纤维后壳。GT3pro:46.6mm和42.9mm,材质是蓝宝石玻璃表镜+钛金属机身/陶瓷机身+陶瓷后壳二、健康GT4:采用最新的华为Truseen5.5+算法,结果会更加的精准。GT3pro:多了ECG心电图和血管及安

在C语言中,while(1)和while(0)之间的区别是什么?在C语言中,while(1)和while(0)之间的区别是什么?Aug 31, 2023 am 10:45 AM

我们知道在C语言中,'while'关键字用于定义一个循环,该循环根据传递给循环的条件来工作。现在,由于条件可以有两个值,即真或假,所以如果条件为真,则while块内的代码将被重复执行,如果条件为假,则代码将不会被执行。现在,通过将参数传递给while循环,我们可以区分while(1)和while(0),因为while(1)是一个条件始终被视为真的循环,因此块内的代码将开始重复执行。此外,我们可以说明,传递给循环并使条件为真的不是1,而是如果任何非零整数传递给while循环,则它将被视为真条件,因

win32和win64有什么区别win32和win64有什么区别May 29, 2023 pm 05:22 PM

win32和win64的区别是:1、win32是指Microsoft Windows操作系统的32位环境,win64是指Microsoft Windows操作系统的64位版本,比32位版本更加稳定快速;2、win32最高支持2G的内存,win64必须是4G以上内存;3、win64支持基于64位的处理器,而win32却不能完全支持;4、win32追求简洁,win64追求性能。

在C语言中,结构体(Structure)和数组(Array)之间的区别是什么?在C语言中,结构体(Structure)和数组(Array)之间的区别是什么?Aug 30, 2023 pm 09:37 PM

在C中,结构体和数组都用作数据类型的容器,即在结构体和数组中我们都可以存储数据,也可以对它们执行不同的操作。基于内部实现,以下是两者之间存在一些基本差异。Sr.编号键结构数组1定义结构体可以定义为一种数据结构,用作容器,可以容纳不同类型的变量。另一方面,数组是一种用作容器的数据结构,可以容纳相同类型的变量,但不支持多种数据类型变量。2内存分配输入数据的内存分配结构不必位于连续的内存位置。而在数组的情况下,输入数据存储在连续的内存分配中,这意味着数组将数据存储在分配连续内存块的内存模型中(即,具有

Vue3和Vue2的区别:更丰富的生命周期钩子Vue3和Vue2的区别:更丰富的生命周期钩子Jul 08, 2023 pm 05:19 PM

Vue3和Vue2的区别:更丰富的生命周期钩子Vue是一种流行的JavaScript框架,用于构建交互式的Web应用程序。Vue2是Vue.js的稳定版本,而Vue3是Vue.js的最新版本。Vue3带来了许多改进,其中之一是更丰富的生命周期钩子。本文将介绍Vue3和Vue2生命周期钩子的区别,并通过代码示例进行演示。Vue2的生命周期钩子在Vue2中,我们

JavaScript和PHP的cookie之间有哪些区别?JavaScript和PHP的cookie之间有哪些区别?Sep 02, 2023 pm 12:29 PM

JavaScriptCookie使用JavaScriptcookie是记住和跟踪偏好、购买、佣金和其他信息的最有效方法。更好的访问者体验或网站统计所需的信息。PHPCookieCookie是存储在客户端计算机上的文本文件并保留它们用于跟踪目的。PHP透明地支持HTTPcookie。JavaScriptcookie如何工作?您的服务器将一些数据发送到访问者的浏览器cookie的形式。浏览器可以接受cookie。如果存在,它将作为纯文本记录存储在访问者的硬盘上。现在,当访问者到达站点上的另一个页面时

win7企业版与win7旗舰版有什么区别的详细介绍win7企业版与win7旗舰版有什么区别的详细介绍Jul 14, 2023 pm 08:37 PM

win7有好几个版本,对于这些琳琅满目的win7版本,很多朋友也是不知道这些win7版本有什么区别了,功能上哪个更好,哪个系统更适合自己,这里小编和大家介绍下win7企业版与win7旗舰版有什么区别的详细介绍,大家快来看看吧。1、Windows7企业版(Enterprise)这个版本面向企业市场的高级版本,主要对象是企业用户以及其市场,满足企业数据共享、管理、安全等需求。包含多语言包、UNIX应用支持、BitLocker驱动器加密、分支缓存(BranchCache)等。通过大量授权给有与微软签订

windows10家庭版和家庭中文版的异同点有哪些windows10家庭版和家庭中文版的异同点有哪些Dec 27, 2023 pm 03:29 PM

我们知道win10系统有很多不同的版本,因为面向的用户不同,所以不同的版本之间主要功能也有所差异。除了熟知的家庭版、旗舰版、专业版等等还有很多我们不太熟悉的版本。今天小编就来和大家聊一聊windows10家庭版和家庭中文版的区别。详细内容一起来了解一下吧~希望可以帮助到你。windows10家庭版和家庭中文版的区别在哪一、默认系统语言不同1、windows10家庭版:windows10家庭版的默认系统语言为英文。2、windows10家庭中文版:windows10家庭中文版的默认系统语言为中文简

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
2 周前By尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
4 周前By尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
4 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SecLists

SecLists

SecLists是最终安全测试人员的伙伴。它是一个包含各种类型列表的集合,这些列表在安全评估过程中经常使用,都在一个地方。SecLists通过方便地提供安全测试人员可能需要的所有列表,帮助提高安全测试的效率和生产力。列表类型包括用户名、密码、URL、模糊测试有效载荷、敏感数据模式、Web shell等等。测试人员只需将此存储库拉到新的测试机上,他就可以访问到所需的每种类型的列表。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

EditPlus 中文破解版

EditPlus 中文破解版

体积小,语法高亮,不支持代码提示功能

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),