從數(shù)據(jù)庫中檢索行,并允許從一個或多個表中選擇一個或多個行或列。雖然 SELECT 語句的完整語法較復(fù)雜,但是其主要的子句可歸納如下:
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 運(yùn)算符,以將查詢的結(jié)果組合成單個結(jié)果集。
SELECT statement ::=
< query_expression >
[ 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 ( < query_hint > [ ,...n ]) ]
< query expression > ::=
{ < query specification > | ( < query expression > ) }
[ UNION [ ALL ] < query specification | ( < query expression > ) [...n ] ]
< query specification > ::=
SELECT [ ALL | DISTINCT ]
[ { TOP integer | TOP integer 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 語句的復(fù)雜性,下面按子句說明詳細(xì)的語法元素和參數(shù):
SELECT 子句
INTO 子句
FROM 子句
WHERE 子句
GROUP BY 子句
HAVING 子句
UNION 運(yùn)算符
ORDER BY 子句
COMPUTE 子句
FOR 子句
OPTION 子句