select[SQL中的]

select[SQL中的]

英文select【si'lekt】。中文意思為選擇、挑選。這還是一條計算機SQL資料庫中中常用的函式。在網頁HTML中的select是個選擇對象。

基本信息

簡介

SELECT 將從一個或更多表中返回記錄行。SELECT 通常的處理如下:

計算列出在FROM中的所有元素。(FROM 中的每個元素都是一個真正的或者虛擬的表。)如果在 FROM 列表里聲明了多過一個元素,那么他們就交叉連線在一起。

如果聲明WHERE子句,那么在輸出中消除所有 不滿足條件的行。

如果聲明了GROUP BY子句,輸出就分成匹配一個或多個數值的不同組裡。如果出現了HAVING子句,那么它消除那些不滿足給出條件的組

實際輸出行的時候,SELECT 先為每個選出的行計算輸出表達式

使用 UNION,INTERSECT, 和 EXCEPT,我們可以把多個 SELECT 語句的輸出合併成一個結果集。UNION 操作符返回在兩個結果集或者其中一個中的行, INTERSECT 操作符返回嚴格地在兩個結果集中都有的行。EXCEPT 操作符返回在第一個結果集中,但是不在第二個結果集中的行。不管哪種情況, 重複的行都被刪除,除非聲明了 ALL。

如果聲明了 ORDER BY 子句,那么返回的行是按照指定的順序排序的。如果沒有給出 ORDER BY,那么數據行是按照系統認為可以最快生成的方法給出的。

DISTINCT從結果中刪除那些重複的行。DISTINCT ON 刪除那些匹配所有指定表達式的行。ALL (預設)將返回所有候選行,包括重複的。

如果給出了LIMIT或者OFFSET子句,那么 SELECT 語句只返回結果行的一個子集。

如果聲明了 FOR UPDATE 或者 FOR SHARE 子句, SELECT 語句對並發的更新鎖住選定的行。

你必須有 SELECT 許可權用來從表中讀取數值。使用 FOR UPDATE FOR SHARE 還要求UPDATE許可權。

子句

從資料庫中檢索行,並允許從一個或多個表中選擇一個或多個行或列。雖然 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

實例套用

以下是"Customers" 表的數據:

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

SELECT Column 實例

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

SELECTCustomerName,CityFROMCustomers;

SELECT * 實例

下面的 SQL 語句從 "Customers" 表中選取所有列:

SELECT*FROMCustomers;

相關詞條

相關搜尋

熱門詞條

聯絡我們