sql执行顺序的优先级是多少_sql执行语句的顺序

sql执行顺序的优先级是多少_sql执行语句的顺序SELECTDISTINCTcolumn,AGG_FUNC(column_or_expression),…FROMmytableJOINanother_tableONmytable.column=another_table.columnWHEREconstraint_expressionGROUPBYcolumnHAVINGconstraint_expressionORDERBYcolumnASC/DESC

SELECT DISTINCT column, AGG_FUNC(column_or_expression), …
FROM mytable
    JOIN another_table
      ON mytable.column = another_table.column
    WHERE constraint_expression
    GROUP BY column
    HAVING constraint_expression
    ORDER BY column ASC/DESC
    LIMIT count OFFSET COUNT;

  1. FROM 和 JOINs
    FROM 或 JOIN会第一个执行,确定一个整体的数据范围. 如果要JOIN不同表,可能会生成一个临时Table来用于 下面的过程。总之第一步可以简单理解为确定一个数据源表(含临时表)

  2. WHERE
    我们确定了数据来源 WHERE 语句就将在这个数据源中按要求进行数据筛选,并丢弃不符合要求的数据行,所有的筛选col属性 只能来自FROM圈定的表. AS别名还不能在这个阶段使用,因为可能别名是一个还没执行的表达式

  3. GROUP BY
    如果你用了 GROUP BY 分组,那GROUP BY 将对之前的数据进行分组,统计等,并将是结果集缩小为分组数.这意味着 其他的数据在分组后丢弃.

  4. HAVING
    如果你用了 GROUP BY 分组, HAVING 会在分组完成后对结果集再次筛选。AS别名也不能在这个阶段使用.

  5. SELECT
    确定结果之后,SELECT用来对结果col简单筛选或计算,决定输出什么数据.

  6. DISTINCT
    如果数据行有重复DISTINCT 将负责排重.

  7. ORDER BY
    在结果集确定的情况下,ORDER BY 对结果做排序。因为SELECT中的表达式已经执行完了。此时可以用AS别名.

  8. LIMIT / OFFSET
    最后 LIMIT 和 OFFSET 从排序的结果中截取部分数据.
    加粗样式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234587.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • linux java 日志_linux 查看日志

    linux java 日志_linux 查看日志1、cat命令:功能:1)显示整个文件。示例:$catfileName2)把文件串连接后传到基本输出,如将几个文件合并为一个文件或输出到屏幕。示例:$catfile1file2>file说明:把档案串连接后传到基本输出(屏幕或加>fileName到另一个档案)cat参数详解:-n或–number由1开始对所有输出的行数编号-b或–number-no…

    2022年6月16日
  • docker-compose 集群_docker集群搭建

    docker-compose 集群_docker集群搭建前言实际工作中我们部署一个应用,一般不仅仅只有一个容器,可能会涉及到多个,比如用到数据库,中间件MQ,web前端和后端服务,等多个容器。我们如果一个个去启动应用,当项目非常多时,就很难记住了,所有

    2022年7月28日
  • Linux虚拟机连接网络,CentOS的联网技巧

    Linux虚拟机连接网络,CentOS的联网技巧Linux虚拟机连接网络大前提:电脑联网为WIFI小提示:电脑有线网的虚拟机联网方式1.打开Linux虚拟机,在菜单栏虚拟机->虚拟机设置->网络适配器,设置网络连接,NAT模式2.打开宿主机的设置->状态->更改适配器选项3.按照以下要求更改4.注意VMnet8的修改5.在Linux虚拟机中,菜单栏编辑->虚拟网络编辑器6.进入虚拟机修改(首先打开控制台)7.改好ens32或ens33文件后,重启用dhclient配置连

    2022年6月16日
  • 阿里巴巴复杂搜索系统的可靠性优化之路[通俗易懂]

    阿里巴巴复杂搜索系统的可靠性优化之路[通俗易懂]阿里巴巴复杂搜索系统的可靠性优化之路

    2022年4月21日
  • pycharm如何设置背景图片_如何设置word背景图片

    pycharm如何设置背景图片_如何设置word背景图片打开Pycharm点击左上角File如图:然后选择找到Settings点击进入,打开Appearance&Behavior,选择Appearance如图:最后找到BackgroundImage,选择好自己要设置的图片,Opacity可以调解好透明度,点击OK就可以了看效果:…

    2022年8月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号