执行顺序
MySQL查询语句的执行顺序是:
FROM ->JOIN ->WHERE ->GROUP BY ->HAVING ->SELECT ->DISTINCT ->ORDER BY ->LIMIT
执行顺序解析
FROM部分首先被执行,它用来指定表名和JOIN。接下来,JOIN被执行,将多个表连接起来。WHERE部分接着被执行,用来指定查询条件。GROUP BY将数据按照指定列进行分组,HAVING在进行分组后进行条件限制,执行SELECT语句,如果使用DISTINCT则去重。ORDER BY部分用来对结果集进行排序,LIMIT用于设定结果集的条数。
Oracle查询语句执行顺序
Oracle查询语句和MySQL查询语句类似,都包含SELECT、FROM、WHERE、GROUP BY、HAVING和ORDER BY,但是它的执行顺序是有些不同的。
执行顺序
Oracle查询语句的执行顺序是:
FROM ->WHERE ->GROUP BY ->HAVING ->SELECT ->DISTINCT ->ORDER BY
执行顺序解析
Oracle的查询语句以FROM子句开始执行,接下来WHERE子句进行条件限制,GROUP BY用来分组,HAVING在分组后进行条件限制。然后执行SELECT语句,DISTINCT用于去重,最后使用ORDER BY来排序。
可以看到,MySQL和Oracle的执行顺序都是从FROM开始,然后分别执行WHERE、GROUP BY、HAVING、SELECT、ORDER BY等语句。两者之间的区别是,Oracle将DISTINCT和ORDER BY放在了最后执行,而MySQL是在SELECT后执行。