複製鏈接
請複製以下鏈接發送給好友

select

(SQL中的)

鎖定
英文select【si'lekt】。 中文意思為選擇、挑選。這還是一條計算機SQL數據庫中中常用的函數。在網頁HTML中的select是個選擇對象。
中文名
選擇
外文名
select
函    數
SQL數據庫
選擇對象
網頁HTML
聲    明
WHERE子句

select簡介

SELECT 將從一個或更多表中返回記錄行。SELECT 通常的處理如下:
計算列出在 FROM 中的所有元素。(FROM 中的每個元素都是一個真正的或者虛擬的表。)如果在 FROM 列表裏聲明瞭多過一個元素,那麼他們就交叉連接在一起。
如果聲明WHERE 子句,那麼在輸出中消除所有 不滿足條件的行。
如果聲明瞭 GROUP BY 子句,輸出就分成匹配一個或多個數值的不同組裏。如果出現了 HAVING 子句,那麼它消除那些不滿足給出條件的組 [1] 
實際輸出行的時候,SELECT 先為每個選出的行計算輸出表達式
使用 UNION,INTERSECT, 和 MINUS,我們可以把多個 SELECT 語句的輸出合併成一個結果集。UNION 操作符返回在兩個結果集或者其中一箇中的行, INTERSECT 操作符返回嚴格地在兩個結果集中都有的行。MINUS 操作符返回在第一個結果集中,但是不在第二個結果集中的行。不管哪種情況, 重複的行都被刪除,除非聲明瞭 ALL。
如果聲明瞭 ORDER BY 子句,那麼返回的行是按照指定的順序排序的。如果沒有給出 ORDER BY,那麼數據行是按照系統認為可以最快生成的方法給出的。
DISTINCT 從結果中刪除那些重複的行。DISTINCT ON 刪除那些匹配所有指定表達式的行。ALL (缺省)將返回所有候選行,包括重複的。
如果給出了 LIMIT 或者 OFFSET 子句,那麼 SELECT 語句只返回結果行的一個子集。
如果聲明瞭 FOR UPDATE 或者 FOR SHARE 子句, SELECT 語句對併發的更新鎖住選定的行。
你必須有 SELECT 權限用來從表中讀取數值。使用 FOR UPDATE FOR SHARE 還要求 UPDATE 權限。

select子句

從數據庫中檢索行,並允許從一個或多個表中選擇一個或多個行或列。雖然 SELECT 語句的完整語法較複雜,但是其主要的子句可歸納如下:
SELECTselect_list
[INTOnew_table]
FROMtable_source
[WHEREsearch_condition]
[GROUPBYgroup_by_expression]
[HAⅥNGsearch_condition]
[ORDERBYorder_expression[ASC|DESC]]
可以在查詢之間使用 UNION 運算符,以將查詢的結果組合成單個結果集
語法
SELECTstatement::=
<query_expression>
[ORDERBY{order_by_expression|column_position[ASC|DESC]}
[,...n]]
[COMPUTE
{{AVG|COUNT|MAX|MIN|SUM}(expression)}[,...n]
[BYexpression[,...n]]
]
[FOR{BROWSE|XML{RAW|AUTO|EXPLICIT}
[,XMLDATA]
[,ELEMENTS]
[,BINARYbase64]
}
]
[OPTION(<query_hint>[,...n])]
<queryexpression>::=
{<queryspecification>|(<queryexpression>)}
[UNION[ALL]<queryspecification|(<queryexpression>)[...n]]
<queryspecification>::=
SELECT[ALL|DISTINCT]
[{TOPinteger|TOPintegerPERCENT}[WITHTIES]]
<select_list>
[INTOnew_table]
[FROM{<table_source>}[,...n]]
[WHERE<search_condition>]
[GROUPBY[ALL]group_by_expression[,...n]
[WITH{CUBE|ROLLUP}]
]
[HAⅥNG<search_condition
[1] 

select實例應用

以下是"Customers" 表的數據: [2] 
CustomerID
CustomerName
ContactName
Address
City
PostalCode
Country
1
Alfreds Futterkiste
Maria Anders
Obere Str. 57
Berlin
12209
Germany
2
Ana Trujillo Emparedados y helados
Ana Trujillo
Avda. de la Constitución 2222
México D.F.
05021
Mexico
3
Antonio Moreno Taquería
Antonio Moreno
Mataderos 2312
México D.F.
05023
Mexico
4
Around the Horn
Thomas Hardy
120 Hanover Sq.
London
WA1 1DP
UK
5
Berglunds snabbköp
Christina Berglund
Berguvsvägen 8
Luleå
S-958 22
Sweden

selectSELECT Column 實例

下面的 SQL 語句從 "Customers" 表中選取 "CustomerName" 和 "City" 列:
SELECTCustomerName,CityFROMCustomers;

selectSELECT * 實例

下面的 SQL 語句從 "Customers" 表中選取所有列:
SELECT*FROMCustomers;
參考資料