SELECT 查詢資料
SELECT 是最常用的 SQL 語句,用來從資料表中查詢資料。查詢結果稱為結果集(Result Set)。
基本語法
SELECT column1, column2, ...
FROM table_name;
查詢指定欄位
假設有一個 customers 資料表:
| id | name | city | phone |
|---|---|---|---|
| 1 | 張一 | 台北 | 02-1234 |
| 2 | 王二 | 高雄 | 07-5678 |
| 3 | 李三 | 台中 | 04-9999 |
查詢客戶的姓名和電話:
SELECT name, phone FROM customers;
結果:
| name | phone |
|---|---|
| 張一 | 02-1234 |
| 王二 | 07-5678 |
| 李三 | 04-9999 |
SELECT *
* 代表所有欄位:
SELECT * FROM customers;
盡量避免使用 SELECT *,只查詢需要的欄位可以提升效能。
搭配其他子句
SELECT 通常會搭配其他子句來精確控制查詢結果:
SELECT column1, column2
FROM table_name
WHERE condition -- 篩選條件
ORDER BY column1 -- 排序
LIMIT 10; -- 限制筆數
常用的子句:
| 子句 | 說明 | 連結 |
|---|---|---|
| WHERE | 設定篩選條件 | WHERE |
| ORDER BY | 排序 | ORDER BY |
| LIMIT | 限制筆數 | LIMIT |
| DISTINCT | 去除重複 | DISTINCT |
| GROUP BY | 分組 | GROUP BY |
| HAVING | 分組後篩選 | HAVING |
| JOIN | 連接多資料表 | JOIN |
欄位別名
使用 AS 設定欄位別名,讓結果更易讀:
SELECT name AS 客戶姓名, phone AS 電話
FROM customers;
運算與函數
可以在 SELECT 中使用運算或函數:
-- 計算折扣後價格
SELECT name, price, price * 0.9 AS discount_price
FROM products;
-- 使用函數
SELECT COUNT(*) AS total FROM customers;
SELECT UPPER(name) FROM customers;