資料存進去了,怎麼查出來?本文系統整理 SELECT 的各種用法,從基礎查詢到條件篩選、排序、聚合統計,一次掌握。
SELECT 查詢欄位 FROM 表名 WHERE 條件(可選);
mytable)SELECT * FROM mytable;
發現 tom 生日錯誤,用 UPDATE 修正:
UPDATE mytable SET birth = '1973-09-02' WHERE name = 'tom';
-- 單一條件
SELECT * FROM mytable WHERE name = 'tom';
-- 複合條件(AND/OR)
SELECT * FROM mytable WHERE sex = 'f' AND birthaddr = 'china';
-- 單一欄位
SELECT name FROM mytable;
-- 多欄位(逗號分隔)
SELECT name, birth FROM mytable;
-- 依生日升序(舊到新)
SELECT name, birth FROM mytable ORDER BY birth;
-- 依生日降序(新到舊)
SELECT name, birth FROM mytable ORDER BY birth DESC;
-- 總筆數
SELECT COUNT(*) FROM mytable;
-- 分組統計:各性別人數
SELECT sex, COUNT(*) FROM mytable GROUP BY sex;
重點:GROUP BY 會將相同值的行分成一組,配合聚合函數(COUNT/SUM/AVG/MAX/MIN)輸出每組統計值。
WHERE 不能用聚合函數,分組後篩選請用 HAVING。SELECT 後的非聚合欄位必須出現在 GROUP BY 中(嚴格 SQL 模式下)。BINARY 或用 COLLATE。