Categories: Mysql数据库编程

sql select语句执行顺序

SQL语句中SELECT是开发或者数据分析中经常要用的,如何写出一个好的SELECT语句,其首要条件就是要知道SELECT的执行顺序,这样才可以更好的为SELECT语句做优化。

SQL的基本结构

一个常见的SELECT SQL结构如下:

SELECT
    [ALL | DISTINCT | DISTINCTROW ]
    [HIGH_PRIORITY]
    [STRAIGHT_JOIN]
    [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
    [SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
    select_expr [, select_expr] ...
    [into_option]
    [FROM table_references
      [PARTITION partition_list]]
    [WHERE where_condition]
    [GROUP BY {col_name | expr | position}, ... [WITH ROLLUP]]
    [HAVING where_condition]
    [WINDOW window_name AS (window_spec)
        [, window_name AS (window_spec)] ...]
    [ORDER BY {col_name | expr | position}
      [ASC | DESC], ... [WITH ROLLUP]]
    [LIMIT {[offset,] row_count | row_count OFFSET offset}]
    [into_option]
    [FOR {UPDATE | SHARE}
        [OF tbl_name [, tbl_name] ...]
        [NOWAIT | SKIP LOCKED] 
      | LOCK IN SHARE MODE]
    [into_option]

SELECT执行顺序

以下步骤显示SELECT语句的逻辑处理顺序或绑定顺序。

1.FROM
2.ON
3.JOIN
4.WHERE
5.GROUP BY
6.WITH CUBE or WITH ROLLUP
7.HAVING
8.SELECT
9.DISTINCT
10.ORDER BY
11.TOP

4.9
07
linux scp命令
PHP7 opcache缓存清理问题
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Share
Published by
嘻嘻

Recent Posts

全球货币导航网页上线了!

o在全球化的今天,货币兑换和国…

4小时 ago

bash字符串拼接

在编程中,字符串的拼接是一个非…

5小时 ago

Bash Case详解

Bash case 语句通常用…

5小时 ago

Bash for详解

for循环是编程语言中的基础概…

5小时 ago

liunux中你必须知道alias命令?

在Linux操作系统中,无论你…

1天 ago

zshrc文件详解

Zsh 是一个强大的 shel…

2天 ago