SELECT之前的ORDER BY?

时间:2014-07-14 16:16:51

标签: sql sql-server

我只是想在我的Select语句中添加一个汽车的最新估计返回日期作为子查询的一部分,我只是想知道它是如何完成的?

我想我听说Select在Order By之前发生了所以想要快速检查一下。

select top 1 ESTIMATE_RETURN_DATE 
from CHECK.AOS 
where AOS.AUTO_NO = CHECK_EVENT.AUTONUM_4 
ORDER BY REVISION_NO desc

4 个答案:

答案 0 :(得分:6)

ORDER BY在之前进行评估,因为排序会更改返回的结果。

TOP 1还可确保返回最低REVISION_NO,因此您可能正确使用了查询。

答案 1 :(得分:1)

我很确定,但这解释了它http://use-the-index-luke.com/sql/partial-results/top-n-queries

它选择所有内容并排序,然后在到达要返回的数字时停止。

答案 2 :(得分:0)

你有什么工作。我这样想:

“SQL”需要先获取数据才能对数据进行排序(排序)。

这是一个很好的资源: http://blog.sqlauthority.com/2009/04/06/sql-server-logical-query-processing-phases-order-of-statement-execution/

我根本不隶属于该网站,或任何贡献它的人,jsut过去发现它很有帮助(并继续发现它有用!)。

答案 3 :(得分:0)

是OrderBY之后的顶级作品。首先,它将找到所有记录,然后它将应用Top。所以你做得对。我也写下了sql server中查询过程的顺序

FROM
WHERE
GROUP BY
HAVING
SELECT
ORDER BY
TOP/OFFSET FETCH