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 帮助