暑期自學 Day 10 | 資料庫 (三)- DQL
Borris發表於2020-05-22
DQL
排序查詢
... order by keyword ASC/DESC
聚合函式
- 將一列作為一個整體,做縱向計算
- 會排除 null 值
count
計算個數SELECT COUNT(english) FROM stu
或 SELECT COUNT(IFNULL(english, 0)) FROM stu
空設為0
max
, min
, sum
, avg
使用方法同 COUNT
分組查詢
group by 分組欄位
- 根據分組欄位來查詢資料,如根據性別分組,那麼男女就被分為兩組。
- 兩種限定條件的語法:
where ...
或 having ...
- 區別:
- where 在分組前限定,不滿足條件不參與分組;having 在分組後限定,如果不滿足分組不會被查詢
- where 後不可使用聚合函式判斷,having 則可以。
分頁查詢
limit 資料開始索引, 查詢條數
select * from stu limit 0, 3;
從 0 開始查,查三條記錄
基礎查詢
SELECT col1, col2, ... colN FROM t_table;
- 去除重複資料:使用 DISTINCT 關鍵字
SELECT DISTINCT col1 FROM t_table;
- 查詢某兩列之和:
SELECT name, (math + english) FROM t_table
- 如果有一列資料是 null,運算結果為 null
- 為某一列起別名: 使用 AS 關鍵字
SELECT name, (math + english) AS total FROM t_table
條件查詢
- where
- 運算子 >, <, =, >=, !=, <>, and/&&, or/||, not/|
- BETWEEN … AND
- IN
... WHERE age IN (22, 18, 25);
- IS / IS NOT: 判斷是否是 NULL
模糊查詢
- LIKE
- _ 下劃線:單個任意字元
- % 百分號:多個任意字元
- 查詢含有某個字元的資料:
... WHERE name LIKE '%馬%';
// 查詢含有馬的名字
本作品採用《CC 協議》,轉載必須註明作者和本文連結