查询语句执行顺序

查询语句的执行顺序依下列子句次序:

  1.from 子句:执行顺序为从后往前、从右到左

    数据量较少的表尽量放在后面

  2.where子句:执行顺序为自下而上,从右到左

    将能过滤掉最大数量记录的条件写在WHERE子句的最右

  3.group by--执行顺序从左往右分组

    最好在GROUP BY前使用WHERE将不需要的记录在GROUP BY之前过滤掉

  4.HAVING 子句:消耗资源

    尽量避免使用,HAVING会在检索出所有记录之后才对结果集进行过滤,需要排序等操作

  5.select子句:少用*号,尽量取字段名称。

    ORACLE在解析的过程中,通过查询数据字典将*号依次转换成所有的列名,消耗时间

  6.order by子句:执行顺序为从左到右排序,消耗资源

时间: 2024-11-10 21:47:22

查询语句执行顺序的相关文章

python 3 mysql sql逻辑查询语句执行顺序

python 3 mysql sql逻辑查询语句执行顺序 一 .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 <havin

mysql第四篇--SQL逻辑查询语句执行顺序

mysql第四篇--SQL逻辑查询语句执行顺序 一.SQL语句定义顺序 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&g

45、SQL逻辑查询语句执行顺序

一 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 <o

MySQL 查询语句执行顺序

Mysql查询语句时候一共分为11步,其中每一个操作都会产生一张虚拟的表,这个虚拟的表作为一个处理的输入,只是这些虚拟的表对用户来说是透明的,但是只有最后一个虚拟的表才会被作为结果返回. 语句执行顺序 : 顺序 名称 内容 1 SELECT 命令发起 2 * 或 AVG(字段)等 查询内容 3 FROM 查询位置 4 WHERE 条件查询 5 GROUP BY 分组 6 HAVING 筛选 7 ORDER BY (ASC/DESC) 排序 8 LIMIT 限制结果数 1.单表查询 查询指定的列

mysql五补充部分:SQL逻辑查询语句执行顺序

阅读目录 一 SELECT语句关键字的定义顺序 二 SELECT语句关键字的执行顺序 三 准备表和数据 四 准备SQL逻辑查询测试语句 五 执行顺序分析 一 SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition>

第四篇:记录相关操作 SQL逻辑查询语句执行顺序

http://www.cnblogs.com/linhaifeng/articles/7372774.html 一 SELECT语句关键字的定义顺序 SELECT DISTINCT <select_list> FROM <left_table> <join_type> JOIN <right_table> ON <join_condition> WHERE <where_condition> GROUP BY <group_by

SQL逻辑查询语句执行顺序

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_b

select查询语句执行顺序

查询中用到的关键词主要包含六个,并且他们的顺序依次为select--from--where--group by--having--order by其中select和from是必须的,其他关键词是可选的,这六个关键词的执行顺序与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行 from--where--select--group by--having--order by, from:需要从哪个数据表检索数据where:过滤表中数据的条件 , rownum分配给每个输出行并增1select

oracle查询语句执行顺序

完整的查询语句类似是这样的: select ..., ROWNUM from table where <where clause> group by <columns> having <having clause> order by <columns>; 它的处理顺序是: 首先,执行 FROM/WHERE 语句 为结果赋予 ROWNUM 并同时根据 FROM/WHERE 语句进行 rownum 过滤 执行 SELECT 执行 GROUP BY 执行 HAVI