SELECT [ALL | DISTINCT] [TOP n [PERCENT] [WITH TIES]]
[INTO new_table]
[FROM [,...n]]
[WHERE ]
[GROUP BY [ALL] group_by_expression [,...n] [WITH {CUBE | ROLLUP}]]
[HAVING ]
[ORDER BY {order_by_expression [ASC | DESC]} [,...n]]
[COMPUTE { {AVG|COUNT|MAX|MIN|STDEV|STDEVP|VAR|VARP|SUM}(expression)} [,...n] [BY expression [,...n]]]
[FOR {BROWSE | XML {RAW|AUTO|EXPLICIT} [,XMLDATA] [,ELEMENTS] [,BINARY BASE64]}]
[OPTION ( [,...n])]
ALL(預設)保留重複值;DISTINCT 移除重複(NULL 視為相同)。TOP n [PERCENT] [WITH TIES]:限制回傳列數,WITH TIES 需配合 ORDER BY 包含同序值列。select_list:*、table.*、column|expression [AS alias]、alias = expression。IDENTITYCOL/ROWGUIDCOL 參照身分識別/全域唯一識別碼欄。將查詢結果存入新資料表(結構由 SELECT 列決定,計算欄位變為實體欄位)。需資料庫選項 Select into/bulkcopy 為 True。
支援資料表、檢視、資料列集函數、OPENXML、衍生資料表(子查詢)、聯結(INNER|LEFT|RIGHT|FULL [OUTER] JOIN、CROSS JOIN、JOIN HINT)。
篩選列條件(search_condition),支援舊式外部聯結語法(*=/=*,不標準)。
ALL:包含無符合 WHERE 條件的群組(NULL 填充),不可與 CUBE/ROLLUP 並用。CUBE:產生所有維度組合彙總列。ROLLUP:依欄位順序產生階層彙總列(對順序敏感)。群組篩選條件,作用於群組而非單列。TEXT/NTEXT/IMAGE 不可用。
合併多查詢結果集。規則:欄位數/順序一致、資料型別相容。ALL 保留重複列。
排序規則(欄位名/別名/運算式)。ASC/DESC。未用 DISTINCT/UNION 時可排序未在 SELECT 列出的欄位。NULL 視為最小值。
結果末尾產生彙總列(BY 需配合 ORDER BY)。忽略 NULL,不可用 DISTINCT。與 SELECT INTO 不相容。
BROWSE:支援 DB-Library 游標瀏覽更新(需 timestamp 欄與唯一索引)。XML:RAW/AUTO/EXPLICIT 三種模式產生 XML,可加 XMLDATA、ELEMENTS、BINARY BASE64 選項。| 提示 | 功能 |
|---|---|
| {HASH|ORDER} GROUP | GROUP BY/COMPUTE 使用雜湊/排序法 |
| {MERGE|HASH|CONCAT} UNION | UNION 運算方法 |
| {LOOP|MERGE|HASH} JOIN | 聯結演算法 |
| FAST n | 優化快速回傳前 n 列 |
| FORCE ORDER | 維持 FROM 項目聯結順序 |
| MAXDOP n | 覆寫最大平行度設定 |
| ROBUST PLAN | 最大列容量計畫 |
| KEEP PLAN / KEEPFIXED PLAN | 放寬/禁止自動重新編譯 |
| EXPAND VIEWS | 展開索引檢視 |
@@TEXTSIZE 限制單次讀取 TEXT/IMAGE 資料量(預設 4KB,最大 2GB)。掌握 SELECT 完整語法與各子句語意,是撰寫高效、正確 T-SQL 查詢的基石。善用查詢提示需深度理解優化器行為,謹慎使用。