首页 > 数据库 >SQL查询语句的执行顺序

SQL查询语句的执行顺序

时间:2022-12-05 15:15:46浏览次数:42  
标签:语句 顺序 SQL 查询 子句 where having SELECT

SELECT语句定义

  • SELECT DISTINCT <select_list> FROM <left_table>
    <join_type> JOIN <right_table> ON <join_condition>
    WHERE <where_condition>
    GROUP BY <group_by_list>
    HAVING <having_condition>
    ORDER BY <order_by_list>
    LIMIT <offset,rows>

SELECT语句执行顺序

SELECT语句中子句的执行顺序与SELECT语句中子句的输入顺序是不一样的,所以并不是从SELECT子句开始执行的,而是按照下面的顺序执行:

  • 开始->FROM子句->WHERE子句->GROUP BY子句->HAVING子句->SELECT子句->ORDER BY子句->LIMIT子句->最终结果

MySQL的having语句

having与where的区别

  • 1.where:
    • 是作用在查询结果进行分组之前,过滤掉不符合条件的数据。
    • where中不能包含聚合函数。(注意是:where后面子句不能有聚合函数,而在含有where中可以使用聚合函数)
    • 作用在group by和having字句前
    • 是作用于对表与视图
  • 2.having:
    • 是作用在查询结果分组之后,筛选满足条件的组,过滤掉数据。
    • 通常跟聚合函数一起使用。
    • having子句在聚合后对组记录进行筛选。
    • 是作用于分组

标签:语句,顺序,SQL,查询,子句,where,having,SELECT
From: https://www.cnblogs.com/liuyangjun/p/16952302.html

相关文章

  • mysql的varchar最大能存储多少个字符?
    mysql中varchar能够存储可变长度的字符串。过去我做的诸多业务中,一般存储短字符串的需求,都会使用varchar类型,并且定义长度为255,也就是varchar(255)。不过为了探究varchar......
  • mysql8 添加用户,赋予表操作权限
    1.mysql8修改了安全规则,不能像mysql5.7一次性创建用户并授权,需要分批创建1.创建用户createuser'username'@'host'identifiedby'password'创建用户说明:1.use......
  • postgresql序列基本操作
    1、创建序列CREATESEQUENCEifnotexiststest_mergetable_id_seqINCREMENT1MINVALUE1MAXVALUE999999999START1CACHE1;//或者:createsequenceifnotexis......
  • Kettle:跨库(SQLServer->PostgreSQL)同步多张表数据的详细设计过程
    〇、参考地址1、多个Excel实现同步​​https://www.wangt.cc/2021/05/kettle%E5%A4%9A%E4%B8%AA%E8%A1%A8%E4%B8%80%E8%B5%B7%E8%BF%81%E7%A7%BB-%E9%80%9A%E8%BF%87%E9%85%......
  • CodeSmith部署安装以及编写MySQL模板的时候无法获取description
    最近需要使用VS2015开发新项目,由于考虑到后期的扩展性,打算使用EF的codefirst模式来编写,但是前期又设计好了数据库结构,不想大动干戈的去重新写代码,网上搜索了说用“EntityF......
  • C# 使用Mono.SQLite进行跨平台开发
    SQLite安装1.windows安装1.进入官网下载最新的SQLite版本,找到:sqlite-tools-osx-x86-3150100.zip。[不区分64位和32位]​​http://www.sqlite.org/download.html​​2.......
  • MySQL字符串转换数字
    mysql将字符串转为数字的方法:1、利用“+”运算符,语法“'字符串'+0”;SELECTJSON_EXTRACT(charge_sts,'$.waiter')k1,JSON_EXTRACT(charge_sts,'$.waiter')+0k2,'01......
  • MySQL锁,锁的到底是什么?
    MySQL锁,锁的到底是什么? MySQL锁系列文章已经鸽了挺久了,最近赶紧挤了挤时间,和大家聊一聊MySQL的锁。只要学计算机,「锁」永远是一个绕不过的话题。MySQL锁也是一样。......
  • SQLServer触发器创建、删除、修改、查看
    一:触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活。所以触发器可以用来实现对表实施复杂的完整性约束。二:SQ......
  • xp下安装ror+mysql最新心得
    话说不少前辈也说了,ROR最好在LINUX上跑,这个道理是知道的,但对于不用ROR开发的偶,单单扫下盲的话,就打算用WINDOW上算了,不过还是感受到在XP上装ROR......