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

SQL语句的执行顺序

时间:2022-10-05 10:12:58浏览次数:48  
标签:语句 顺序 JOIN SQL 生成 子句 GROUP WHERE ORDER

原文链接:https://blog.csdn.net/weixin_37646636/article/details/121459732

(8)SELECT (9) DISTINCT (11)
(1) FROM
(3) JOIN
(2) ON
(4) WHERE
(5) GROUP BY
(6) WITH {CUBE | ROLLUP}
(7) HAVING
(10) ORDER BY

 

1)FROM:对FROM子句中的表执行笛卡尔积(交叉联接),生成虚拟表VT1。
2)ON:对VT1应用ON筛选器,只有那些使为真才被插入到TV2。
3)OUTER (JOIN):如果指定了OUTER JOIN(相对于CROSS JOIN或INNER JOIN),保留表中未找到匹配的行将作为外部行添加到VT2,生成TV3。如果FROM子句包含两个以上的表,则对上一个联接生成的结果表和下一个表重复执行步骤1到步骤3,直到处理完所有的表位置。
4)WHERE:对TV3应用WHERE筛选器,只有使为true的行才插入TV4。
5)GROUP BY:按GROUP BY子句中的列列表对TV4中的行进行分组,生成TV5。
6)CUTE|ROLLUP:把超组插入VT5,生成VT6。
7)HAVING:对VT6应用HAVING筛选器,只有使为true的组插入到VT7。
8)SELECT:处理SELECT列表,产生VT8。
9)DISTINCT:将重复的行从VT8中删除,产品VT9。
10)ORDER BY:将VT9中的行按ORDER BY子句中的列列表顺序,生成一个游标(VC10),生成表TV11,并返回给调用者。
————————————————

标签:语句,顺序,JOIN,SQL,生成,子句,GROUP,WHERE,ORDER
From: https://www.cnblogs.com/sqk0313/p/16755123.html

相关文章

  • 表的理解、SQL语句
    什么是表数据库中最基本的单元是表:table数据库当中是以表格的形式表示数据的,因为表比较直观任何一张表都有行和列:行(row):被称为数据/记录列(column):被称为字段姓名字段......
  • MySQL/MariaDB如何创建用户并限制指定才能IP访问?
    MySQL/MariaDB如何创建用户并限制指定才能IP访问?登入数据$mysql--versionmysqlVer15.1Distrib10.9.3-MariaDB,fordebian-linux-gnu(x86_64)usingreadline......
  • mysql常用命令
    MySQL常用命令退出mysql:exit查看mysql中有哪些数据库:showdatabases;注意:以分号结尾,分号是英文的分号mysql>showdatabases;+--------------------+|Database......
  • MySQL注入的几种绕过方式
        在平时进行MySQL注入的过程当中,有时会遇到过滤关键字的情况,这篇文章就介绍绕过几种过滤关键字的方式。    绕过过滤and和or    打开sqli的......
  • 刷题sql
    题目1084selectp.product_id,p.product_namefromProductpjoinSalessonp.product_id=s.product_idgroupbyproduct_idhavingmin(s.sale_date)>='2019-0......
  • 全国地区 4级 5级 mysql 数据
    4级数据     https://files.cnblogs.com/files/wlphp/area_4.sql.zip?t=1664897005......
  • Mysql学习记录
    1.mysql内连接和外连接的区别连接语法:joinxxonxx(可以在一个语句中多次使用)内连接(innerjoin):取出两张表中匹配到的数据,匹配不到的不保留外连接(outerjoin):其中外连接又......
  • Ideal安装 +设置maven+mysql
    1、下载Idea安装,地址:https://www.jetbrains.com/idea/download/other.html 2、下载jdk,安装jdk,配置环境变量     新建JAVA_HOME 系统变量,设置jdk安装路径......
  • centos7.6 安装 mysql5.7
    卸载mariadbrpm-qa|grepmariadbrpm-e--nodepsmariadb-libs-5.5.60-1.el7_5.x86_64//名称会有变CentOS7.6内部集成了mariadb,而安装mysql的话会和mariadb的文......
  • 顺序表10/4
    #include<stdio.h>#include<stdlib.h>#defineMAXSIZE20typedefstructLNODE{charlist[MAXSIZE];intlistlen;//表的当前长度}*List,L;ListnewList();voidshowLis......