SELECT 敘述句 (SQL SELECT Statement)
SELECT 很可能是最常用到的 SQL 語句,它是用來從資料庫取得資料,這個動作我們通常稱之為查詢 (query),資料庫依 SELECT 查詢的要求會返回一個結果資料表 (result table),我們通常稱之為資料集 (result-set)。
SELECT 語法 (SQL SELECT Syntax)
SELECT 敘述句主要由兩部分構成,第一部分是要 "拿什麼" 資料 (若有多項用逗號隔開);第二部分則為 "從哪拿"。
SELECT table_column1, table_column2, table_column3...
FROM table_name;
SELECT 查詢用法 (SQL SELECT Example)
假設我們想從下面的 customers 資料表中取得顧客的姓名 (Name) 及電話 (Phone):
C_Id | Name | City | Address | Phone |
---|---|---|---|---|
1 | 張一 | 台北市 | XX路100號 | 02-12345678 |
2 | 王二 | 新竹縣 | YY路200號 | 03-12345678 |
3 | 李三 | 高雄縣 | ZZ路300號 | 07-12345678 |
我們可以下這個 SELECT 查詢敘述句:
SELECT Name, Phone FROM customers;
返回的結果 (資料集) 會像這樣:
Name | Phone |
---|---|
張一 | 02-12345678 |
王二 | 03-12345678 |
李三 | 07-12345678 |
SELECT *
如果我們想一次取得整張資料表裡所有的資料我們可以在 SELECT 語句裡用 *
這個特殊符號。
SELECT * FROM customers;
這個 SELECT 查詢返回的資料集會是:
C_Id | Name | City | Address | Phone |
---|---|---|---|---|
1 | 張一 | 台北市 | XX路100號 | 02-12345678 |
2 | 王二 | 新竹縣 | YY路200號 | 03-12345678 |
3 | 李三 | 高雄縣 | ZZ路300號 | 07-12345678 |
若非必要,我們應該盡量避免使用 SELECT *,因為一次取得整張資料表會比較耗費系統資源,記住一個原則,取得需要的資料就好,不多拿也不少拿。例如若只想知道客戶的電話不需要連他的住址也一起取得。