首页 > 数据库 >SQL 关键字执行顺序

SQL 关键字执行顺序

时间:2023-11-30 13:12:35浏览次数:40  
标签:语句 顺序 GROUP 关键字 SQL 聚合 执行 WHERE

1.From and JOIN

首先我们进行查询的时候,肯定是先获得一份数据集的,From语句和JOIN被先执行的,就是为了获得数据集的。

2.WHERE

一旦数据集给拿到了,WHERE限制条件会被用到某些行上,并把不满足的行给抛弃掉。并且,这能够用到各种数据类型中

3.GROUP BY

WHERE条件限定之后,接下来就是GROUP BY语句了,这一语句会根据某一字段进行分组,并对各个组进行求聚合。

想想看,我们先进行的是FROM,紧接着是WHERE,然后才是GROUP BY。所以上面的语句就是错在了WHERE 语句在执行的时候,GROUP BY语句还没有开始,那时聚合值sum()还是未知的。

4.HAVING

having语句在SQL中的主要作用与Where语句作用是相同的,但是having是过滤聚合值,其实上面的正确写法是这样的

5.SELECT

在经过上面的执行之后,终于到了select语句,但是别慌,下面还有呢。

6.DISTINCT

对于剩下的行,Distinct用来去除重复行,只保留唯一的。

7.ORDER BY

此语句用来对select后的结果,进行排序,升序或者是降序。

8.LIMIT/OFFSET

用来限定返回的行数

标签:语句,顺序,GROUP,关键字,SQL,聚合,执行,WHERE
From: https://www.cnblogs.com/cikm/p/17867069.html

相关文章

  • 【必读】开发者必备!轻松学习MySQL事务的使用方法
    在日常开发中我们经常会遇到需要同时处理多个操作的情况,比如在购物时,我们需要同时完成支付和更新库存两个操作。这时,如果其中一个操作失败了,我们就需要进行回滚,以保证数据的一致性。那么,如何在MySQL中实现这样的功能呢?答案就是——事务。下面我们就来介绍一下MySQL事务是什么?它......
  • 翻译:MySQL InnoDB Cluster - Navigating the Cluster
    本文是对这篇文章MySQLInnoDBCluster-NavigatingtheCluster[1]的翻译,翻译如有不当的地方,敬请谅解,请尊重原创和翻译劳动成果,转载的时候请注明出处。谢谢!当我们管理InnoDBCluster时,一件非常重要的事情就是了解集群处于什么样的状态,特别是要了解如何解释集群状态的报告,以及如何......
  • 部分MySQL的SQL信息整理
    模块补丁信息查看selectsuas补丁模块,count(1)as数量fromgsppatchlogwhereTO_DAYS(NOW())-TO_DAYS(deployedtime)<=300groupbysuorderby2descselectpatchcodefromgsppatchlogwhereTO_DAYS(NOW())-TO_DAYS(deployedtime)<=1orderby1......
  • CTP行情实时写入MySQL数据库
    CTP行情实时写入MySQL数据库 CTP即中国期货市场的交易系统,是一种可以实时获取行情数据的开放式软件平台。在这个平台上,我们可以订阅多种不同的市场行情数据,例如期货、股票、基金等等。而将这些大量的数据存入数据库,可以为量化交易策略提供必要的支持。 在这篇文章中,我们......
  • 不同数据库创建用户,数据库的SQL语句整理
    不同数据库创建用户,数据库的SQL语句整理MySQLmysql-uroot-p#输入密码登录数据库CREATEDATABASEIFNOTEXISTSxxxdata_someinfoDEFAULTCHARSETutf8mb4;createuser'xxx_someinfo'@'%'identifiedby'Testsomepassword';grantallprivilegesonxxxdata_......
  • SQL Server中left join、inner join和right join的区别?
    数据库是我们IT行家常的事情,相信大家都不陌生,计算机专业都开了数据库系统概论这门课程,我分享下在暑假找实习参加宣讲会过程做的笔试题中遇到关于leftjoin、innerjoin和rightjoin的区别的简述题,希望对需要的朋友有所帮助。看下面一个小例子,我懒的开软件,用Excel替代下,谅解谅解~st......
  • postgreSql使用postgis实现空间聚簇
    聚合前 聚合后 具体sql/*使用ST_ClusterDBSCAN函数,ST_ClusterDBSCAN是窗口函数用来对数据进行聚簇第一个参数是字段,第二个参数是距离,他是用的是度,这里写0.000179大约就是20米,minpoints表示多少个聚合才算是一个簇,比如两台车就算是聚集,那就设置为2*/selectST......
  • basis of PHP DBMA about mysql
    php连接数据库header("Content-type:text/html;charset=utf8");$servername="localhost";$username="root";$password="root";$dbTable="dvwa";$conn=mysqli_connect($servername,$username,$password,$......
  • C++ 11 关键字:thread_local
    thread_local是C++11新引入的一种存储类型,它会影响变量的存储周期。C++中有4种存储周期:automaticstaticdynamicthread有且只有thread_local关键字修饰的变量具有线程(thread)周期,这些变量在线程开始的时候被生成,在线程结束的时候被销毁,并且每一个线程都拥有一个独......
  • MySQL - 一致性读 vs 一致性写
    一、问题描述建表语句mysql>CREATETABLE`t`(`id`int(11)NOTNULL,`k`int(11)DEFAULTNULL,PRIMARYKEY(`id`))ENGINE=InnoDB;insertintot(id,k)values(1,1),(2,2);我们的例子中如果没有特别说明,都是默认autocommit=1。这里有个假设:事务C没有显......