SQL語法學習筆記『SQL語法學習筆記(三)』

語句6SELECT  "欄位名"  FROM " 表格名"  WHERE  "欄位名" BETWEEN  '值一'  AND  '值二'

 

 

舉例:這將選出欄位值包含在值一及值二之間的每一筆資料。

舉例來說,若我們要由 Store_Information 表格中找出所有介於 January 6, 1999 January 10, 1999 中的資料,

store_name

Sales

Date

Los Angeles

$1500

Jan-05-1999

San Diego

$250

Jan-07-1999

San Francisco

$300

Jan-08-1999

Boston

$700

Jan-08-1999

 

我們就打入,

SELECT * FROM  Store_Information  WHERE  Date  BETWEEN  'Jan-06-1999'  AND  'Jan-10-1999'

請讀者注意:在不同的數據庫中,日期的儲存法可能會有所不同。在這裏我們選擇了其中一種儲存法。


結果:

store_name

Sales

Date

San Diego

$250

Jan-07-1999

San Francisco

$300

Jan-08-1999

Boston

$700

Jan-08-1999

 

語句7SELECT  "欄位名"  FROM "表格名"  WHERE "欄位名" LIKE {套式}

說明:{套式} 經常包括野卡 (wildcard). 以下是幾個例子:

·  'A_Z': 所有以 'A' 起頭,另一個任何值的字原,且以 'Z' 爲結尾的字串。 'ABZ' 'A2Z' 都符合這一個模式,而 'AKKZ' 並不符合 (因爲在 A Z 之間有兩個字原,而不是一個字原)

·  'ABC%': 所有以 'ABC' 起頭的字串。舉例來說,'ABCD' 'ABCABC' 都符合這個套式。

·  '%XYZ': 所有以 'XYZ' 結尾的字串。舉例來說,'WXYZ' 'ZZXYZ' 都符合這個套式。

·  '%AN%': 所有含有 'AN' 這個套式的字串。舉例來說, 'LOS ANGELES' 'SAN FRANCISCO' 都符合這個套式。

 

 

舉例:我們將以上最後一個例子用在我們的 Store_Information 表格上: 

store_name

Sales

Date

LOS ANGELES

$1500

Jan-05-1999

SAN DIEGO

$250

Jan-07-1999

SAN FRANCISCO

$300

Jan-08-1999

BOSTON

$700

Jan-08-1999

 

我們就打入,

SELECT * FROM  Store_Information  WHERE  store_name LIKE '%AN%'


結果:

store_name

Sales

Date

LOS ANGELES

$1500

Jan-05-1999

SAN FRANCISCO

$300

Jan-08-1999

SAN DIEGO

$250

Jan-07-1999

 

 

語句8SELECT  "欄位名"  FROM  "表格名"   [WHERE "條件"]
ORDER BY  "
欄位名"  [ASC, DESC]

語句說明:[] 代表 WHERE 是一定需要的。不過,如果 WHERE 子句存在的話,它是在 ORDER BY 子句之前。 ASC 代表結果會以由小往大的順序列出,而 DESC 代表結果會以由大往小的順序列出。如果兩者皆沒有被寫出的話,那我們就會用 ASC

我們可以照好幾個不同的欄位來排順序。在這個情況下, ORDER BY 子句的語法如下(假設有兩個欄位)

ORDER BY "欄位一" [ASC, DESC], "欄位二" [ASC, DESC]

若我們對這兩個欄位都選擇由小往大的話,那這個子句就會造成結果是依據 "欄位一" 由小往大排。若有好幾筆資料 "欄位一" 的值相等,那這幾筆資料就依據 "欄位二" 由小往大排。

舉例:若我們要依照 Sales 欄位的由大往小列出 Store_Information 表格中的資料,

store_name

Sales

Date

Los Angeles

$1500

Jan-05-1999

San Diego

$250

Jan-07-1999

San Francisco

$300

Jan-08-1999

Boston

$700

Jan-08-1999

 

我們就打入,

SELECT  store_name, Sales, Date  FROM  Store_Information
ORDER BY Sales DESC


結果:

 

store_name

Sales

Date

Los Angeles

$1500

Jan-05-1999

Boston

$700

Jan-08-1999

San Francisco

$300

Jan-08-1999

San Diego

$250

Jan-07-1999

在以上的例子中,我們用欄位名來指定排列順序的依據。除了欄位名外,我們也可以用欄位的順序 (依據 SQL 句中的順序)。在 SELECT 後的第一個欄位爲 1,第二個欄位爲 2,以此類推。在上面這個例子中,我們打以下這一句 SQL 可以達到完全一樣的效果:

SELECT store_name, Sales, Date  FROM Store_Information
ORDER BY 2 DESC

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章