我有一個包含PK聚簇索引以及其上的唯一索引和非唯一索引的表。如果我的問題(究竟):排序選擇的結果順序沒有或者ORDER BY子句
SELECT * FROM table_name
或
SELECT col1, col2 FROM table_name
將返回什麼命令行
?
這是客戶轉發給我們的面試問卷中的第一個問題。以下是說明:
如果此問題的答案不正確,請立即終止面試!個人,不管他們陳述的能力如何,都不瞭解基於SQL的關係數據庫管理系統。這是過去25年以上的SQL-101邏輯。正確的答案是:「未知/隨機/未確定,因爲沒有將ORDER BY子句指定爲查詢的一部分」。
我有點不相信這實際上是正確的。所有評論歡迎。
感謝,
拉吉
+1此外,您可以在某些條件下獲得分配有序掃描,或者SQL Server可以使用高級掃描/旋轉掃描功能。 [也見這個答案](http://stackoverflow.com/questions/7116004/guarantee-order-of-table-valued-function-results/7117186#7117186) – 2011-12-24 11:13:52