Перепутанный Логическим заказом Обработки Запроса Itzik Ben-Gan's в его книге SQL Server 2005 года и книге SQL Server 2008 года

В книге В Microsoft SQL Server™ 2005 T-SQL Querying автор Itzik Ben-Gan говорит нам, что порядок или логическая обработка запроса 2005 SQL Server:

(8)  SELECT (9) DISTINCT (11) <TOP_specification> <select_list>
(1)  FROM <left_table>
(3)       <join_type> JOIN <right_table>
(2)       ON <join_condition>
(4)  WHERE <where_condition>
(5)  GROUP BY <group_by_list>
(6)  WITH {CUBE | ROLLUP}
(7)  HAVING <having_condition>
(10) ORDER BY <order_by_list>

1.  FROM
2.  ON
3.  OUTER (join)
4.  WHERE
5.  GROUP BY
6.  CUBE | ROLLUP
7.  HAVING
8.  SELECT
9.  DISTINCT
10. ORDER BY  <---------------------- NOTE
11. TOP       <---------------------- NOTE

В его книге В Microsoft SQL Server 2008: Запросы T-SQL, он говорит нам выполняющий логический приказ обработки запроса:

(1) FROM
(1-J1) Cartesian Product
(1-J2) ON Filter
(1-J3) Add Outer Rows
(2) WHERE
(3) GROUP BY
(4) HAVING
(5) SELECT
(5-1) Evaluate Expressions
(5-2) DISTINCT
(5-3) TOP       <---------------------- NOTE
(6) ORDER BY    <---------------------- NOTE

Отметьте порядок TOP и ORDER BY в верхних выборках из этих книг. Они просто противоположны. Я думаю, что эти два ступают, очень важно, и даст полностью другой результат с другим порядком. Я хочу знать, ли SQL Server, в котором 2008 изменил что-то, он - механизм устройства хранения данных от SQL Server 2005, или что-то еще рассуждает, вызывают это?

Спасибо.

9
задан Just a learner 17 July 2010 в 05:15
поделиться