SELECT selection_list -- 查詢哪些欄位
FROM table_list -- 從哪些表查詢
WHERE primary_constraint -- 篩選條件
GROUP BY grouping_columns -- 分組依據
ORDER BY sorting_columns -- 排序規則
HAVING secondary_constraint-- 分組後過濾
LIMIT count; -- 限制筆數
MySQL> USE tpsc;
MySQL> SELECT * FROM user;
+----+------+----------+--------------+
| id | user | lxdh | jtdz |
+----+------+----------+--------------+
| 1 | aaa | 12345678 | 隨風倒十分上 |
| 2 | sss | 87654321 | 計劃看見合 |
+----+------+----------+--------------+
MySQL> SELECT id, lxdh FROM user;
+----+----------+
| id | lxdh |
+----+----------+
| 1 | 12345678 |
| 2 | 87654321 |
+----+----------+
MySQL> SELECT * FROM user WHERE id < 3;
從多表獲取資料時,在 FROM 後列出所有表,並在 WHERE 中指定連接條件:
MySQL> SELECT jtsr FROM user, jtsr
-> WHERE user.user = jtsr.user AND user.lxdh = '12345678';
+------+
| jtsr |
+------+
| 1000 |
+------+
user.user = jtsr.user,依關聯欄位匹配。| 子句 | 用途 | 注意事項 |
|---|---|---|
| GROUP BY | 分組聚合 | 非聚合欄位需包含在 GROUP BY 中 |
| HAVING | 分組後過濾 | 可使用聚合函數,WHERE 不可 |
| ORDER BY | 結果排序 | 預設 ASC,大量資料需配合 LIMIT |
| LIMIT | 分頁/取樣 | OFFSET 大時效能下降,建議用游標分頁 |
SELECT *,只取需要欄位,減少網路傳輸與 I/O。