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

MS SQL Server SELECT 敘述句完整語法架構參考

     編輯:關於SqlServer

本節提供 SELECT 陳述式的完整 BNF 風格語法定義,供開發撰寫複雜查詢時查閱。初學者可略過,直接閱讀後續實戰章節。

完整語法結構

SELECT statement ::=
    
    [ ORDER BY { order_by_expression | column_position [ ASC | DESC ] } [,...n] ]
    [ COMPUTE { { AVG | COUNT | MAX | MIN | SUM } (expression) } [,...n]
      [ BY expression [,...n] ] ]
    [ FOR { BROWSE | XML { RAW | AUTO | EXPLICIT }
      [ , XMLDATA ] [ , ELEMENTS ] [ , BINARY base64 ] } ]
    [ OPTION (  [,...n] ) ]

 ::=
    {  | (  ) }
    [ UNION [ALL]  | (  ) [...n] ]

 ::=
    SELECT [ ALL | DISTINCT ]
    [ {TOP integer | TOP integer PERCENT} [ WITH TIES] ]
    
    [ INTO new_table ]
    [ FROM {} [,...n] ]
    ...

語法圖示

關鍵字句功能對照

子句核心功能
SELECT LIST投影:指定回傳欄位、運算式、彙總函數
INTO new_table將結果建立新表
FROM指定資料來源(表、視圖、衍生表、函數、聯結)
WHERE列篩選條件
GROUP BY分組彙總
HAVING分組後篩選
UNION合併多查詢結果
ORDER BY結果排序
COMPUTE傳統報表小計/總計(已棄用,建議用 GROUPING SETS/ROLLUP/CUBE)
FOR XML結果輸出為 XML 格式
OPTION查詢提示(強制索引、最大執行緒等)

使用建議

  • 將此頁作為語法速查卡,撰寫複雜查詢時確認子句順序與選項。
  • 實務中專注掌握 SELECT/FROM/WHERE/GROUP BY/HAVING/ORDER BY 核心六子句,其餘按需查閱。
  • 新版本(SQL 2005+)擴充了 WITH (CTE)、APPLY、PIVOT/UNPIVOT、GROUPING SETS 等強大功能,本語法為 2000 版本基準。

總結

完整語法雖冗長,但結構清晰:查詢規範 → 集合運算 → 排序/輸出格式/提示。理解此層級架構,能系統性地組裝任意複雜度的查詢陳述式。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved