【发布时间】:2019-02-20 05:51:23
【问题描述】:
sql查询各部分的执行顺序是什么,如SELECT、DISTINCT、FROM、WHERE、GROUP BY、ORDER BY···
我搜索了很多网站说ORDER BY在SELECT之后执行,如果这是真的,像'select column1 from table1 order by column2'这样的简单查询不应该执行,因为执行SELECT之后,只有column1在数据集,它不能使用 column2 对数据集进行排序。但实际上它有效!
【问题讨论】:
-
您对选择感到困惑,选择意味着从页面中选择所需的数据,而不是在某些控制台中显示所需的列。
-
所以这意味着无论SELECT子句中列出了哪些列,mysql总是会搜索整个数据页?
-
OP 在他们的问题中声明“大量网站说 ORDER BY 在 SELECT 之后执行”这一事实向我表明,标记的副本不会包含他们寻求的答案,因为他们对
SELECT子句执行 的含义意味着 更加困惑。他们已经发现ORDER BY在SELECT之后。