SELECT (Transact-SQL)

從資料庫中擷取資料列,可讓您從一或多份資料表中選取一或多個資料列或資料行。SELECT 陳述式的完整語法很複雜,但主要子句可以摘要如下:

[ WITH <common_table_expression>]

SELECT select_list [ INTO new_table ]

[ FROM table_source ] [ WHERE search_condition ]

[ GROUP BY group_by_expression]

[ HAVING search_condition]

[ ORDER BY order_expression [ ASC | DESC ] ]

您可以在查詢之間使用 UNION、EXCEPT 和 INTERSECT 運算子來比較它們的結果,或將它們的結果結合在單一結果集中。

主題連結圖示Transact-SQL 語法慣例

語法

SELECT statement ::=  
    [WITH <common_table_expression> [,...n]]
    <query_expression> 
    [ ORDER BY { order_by_expression | column_position [ ASC | DESC ] } 
  [ ,...n ] ] 
    [ COMPUTE 
  { { AVG | COUNT | MAX | MIN | SUM } ( expression ) } [ ,...n ] 
  [ BY expression [ ,...n ] ] 
    ] 
    [ <FOR Clause>] 
    [ OPTION ( <query_hint> [ ,...n ] ) ] 
<query_expression> ::= 
    { <query_specification> | ( <query_expression> ) } 
    [  { UNION [ ALL ] | EXCEPT | INTERSECT }
        <query_specification> | ( <query_expression> ) [...n ] ] 
<query_specification> ::= 
SELECT [ ALL | DISTINCT ] 
    [TOP expression [PERCENT] [ WITH TIES ] ] 
    < select_list > 
    [ INTO new_table ] 
    [ FROM { <table_source> } [ ,...n ] ] 
    [ WHERE <search_condition> ] 
    [ GROUP BY [ ALL ] group_by_expression [ ,...n ] 
                [ WITH { CUBE | ROLLUP } ]
    ]
    [ HAVING < search_condition > ] 

備註

由於 SELECT 陳述式非常複雜,因此,依子句來顯示詳細的語法元素和引數:

WITH common_table_expression

UNION

SELECT 子句

EXCEPT 和 INTERSECT

INTO 子句

ORDER BY

FROM

COMPUTE

WHERE

FOR 子句

GROUP BY

OPTION 子句

HAVING

請參閱

參考

SELECT 範例 (Transact-SQL)

說明及資訊

取得 SQL Server 2005 協助