首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

在檢視表中使用 ORDER BY 的技巧:TOP 100 PERCENT

     編輯:關於SqlServer

問題背景

SQL Server 中,直接在 CREATE VIEW 陳述式裡使用 ORDER BY 是無效的(會報錯或被忽略),除非搭配 TOP 子句。利用 TOP 100 PERCENT 即可「欺騙」語法解析器,達成排序目的。

範例代碼

USE pubs;
GO

CREATE VIEW AuthorsByName
AS
SELECT TOP 100 PERCENT *
FROM authors
ORDER BY au_lname, au_fname;
GO

原理解析

  • TOP 100 PERCENT 表示傳回所有符合條件的資料列。
  • 因為有 TOP 子句,SQL Server 允許在檢視表定義中使用 ORDER BY。
  • 查詢該檢視表時,資料會依 au_lname、au_fname 排序輸出。

注意事項

  • 若外層查詢再加 ORDER BY,外層優先;若無,則依檢視表內部順序。
  • SQL Server 2005+ 也可使用 TOP (100) PERCENT 語法(括號)。
  • 此技巧僅影響輸出順序,不保證儲存順序;若需確定順序,應在最終查詢加 ORDER BY。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved