SELECT 子句 (SQL Server Compact)

指定查詢要傳回的資料行。

語法

SELECT [ ALL | DISTINCT ] TOP (expression) < select_list > 
< select_list > ::= 
   { * 
   | { table_name | table_alias }.* 
   | { column_name | expression } [ [ AS ] column_alias ] 
   } [ ,...n ] 

引數

  • ALL
    指定結果集可以出現重複的資料列。預設值為 ALL。

  • DISTINCT
    指定結果集只能出現唯一的資料列。Null 值的用法被視為等於 DISTINCT 關鍵字。

  • TOP (expression)
    表示只有指定的第一個集合或資料列的百分比會從查詢結果集傳回。expression 可以是數字或資料列的百分比。

    TOP 子句可以用於 SELECT、INSERT、UPDATE 與 DELETE 陳述式。在 INSERT、UPDATE 與 DELETE 陳述式中,需要使用括號來分隔 TOP 中的運算式。針對回溯相容性,支援在 SELECT 陳述式中,使用沒有括號的 TOP 運算式,但是我們不建議這麼做。如需詳細資訊,請參閱<TOP (SQL Server Compact)>。

  • < select_list>
    針對結果集選取的資料行。選取清單是一系列的運算式,運算式之間以逗號分隔。

  • *
    指定應該傳回 FROM 子句中所有資料表的所有資料行。這些資料行會以 FROM 子句指定的方式透過資料表傳回,並且按照資料行在資料表中的順序傳回。

  • table_name| table_alias.*
    將 * 的範圍限制在特定資料表。要求 FROM 子句指定資料表中的所有資料行都應該傳回。這些資料行會按照本身在資料表中的順序傳回。如果資料表在 FROM 子句中有指定別名,就必須使用此別名。無法使用資料表名稱。

  • column_name
    要傳回的資料行名稱。限定 column_name 可防止模稜兩可的參照,例如有時候 FROM 子句中的兩個資料表可能有名稱重複的資料行。例如,如果資料庫中的 'A' 和 'B' 資料表都有一個名稱為 'itemID' 的資料行,而這兩個資料表聯結在同一個查詢中,則在 SELECT 清單中就必須將 itemID 指定為 'A.itemID' 及 'B.itemID'。如果提供資料表別名,就必須使用此資料表別名來限定資料行名稱。否則,請使用完整的資料表名稱。

  • expression
    資料行名稱、常數、函數,或是以一個或多個運算子連接的資料行名稱、常數及函數的任何有效組合。

  • column_alias
    一個替代名稱,可用來置換查詢結果集中的資料行名稱。例如,"Quantity"、"Quantity to Date" 或 "Qty" 之類的別名都可以指定用來代替命名為 "quantity" 的資料行。別名也可以用來指定運算式結果的名稱,例如:

    SELECT AVG([Unit Price]) AS [Average Price] FROM [Order Details]
    

    注意

    column_alias 可用於 ORDER BY 子句,但不可用於 WHERE、GROUP BY 或 HAVING 子句。