基本 SELECT 語法
SELECT 欄位清單 FROM 資料表 [WHERE 條件] [ORDER BY 排序欄位] [LIMIT 筆數];
範例資料
+--------+------+------------+-----------+
| name | sex | birth | birthaddr |
+--------+------+------------+-----------+
| abccs | f | 1977-07-07 | china |
| mary | f | 1978-12-12 | usa |
| tom | m | 1970-09-02 | usa |
+--------+------+------------+-----------+
1. 查詢所有欄位
SELECT * FROM mytable;
2. 修正錯誤資料 (UPDATE)
UPDATE mytable SET birth = '1973-09-02' WHERE name = 'tom';
3. 條件篩選 (WHERE)
單一條件
SELECT * FROM mytable WHERE name = 'tom';
複合條件 (AND/OR)
SELECT * FROM mytable WHERE sex = 'f' AND birthaddr = 'china';
4. 指定欄位 (投影)
SELECT name FROM mytable;
SELECT name, birth FROM mytable;
5. 排序 (ORDER BY)
遞增 (預設)
SELECT name, birth FROM mytable ORDER BY birth;
-- tom (1973) → abccs (1977) → mary (1978)
遞減 (DESC)
SELECT name, birth FROM mytable ORDER BY birth DESC;
-- mary → abccs → tom
6. 彙總與分組
總筆數
SELECT COUNT(*) FROM mytable; -- 3
分組統計
SELECT sex, COUNT(*) FROM mytable GROUP BY sex;
+------+----------+
| sex | COUNT(*) |
+------+----------+
| f | 2 |
| m | 1 |
+------+----------+
進階技巧
COUNT(*) 計算所有列;COUNT(miss_col) 忽略 NULL。
GROUP BY 可搭配 HAVING 過濾群組條件。
- 排序欄位可用別名、位置編號(
ORDER BY 2)、運算式。