*執行範圍測試(BETWEEN)
SELECT 列a,列b FROM 表名 WHERE 列c BETWEEN 下限 AND 上限;
*定義集合關係(IN),即多個限制條件
1.SELECT 列a,列b FROM 表名 WHERE 列c OR 列d OR 列e;
2.SELECT 列a,列b FROM 表名 WHERE 列c IN(值集合);
3.完全獨立的SELECT查詢:???
SELECT 列a,列b FROM 表名 WHERE 列c IN(SELECT 列D FROM 表2);
4.SELECT 列a,列b FROM 表名 WHERE 列c NOT IN(值集合);
#查詢不在值集合中的數據
*模糊查詢(LIKE)
num1.SELECT 列a,列b FROM 表名 WHERE 列c LIKE 模式;
num2.模式匹配通配符含義
通配符 含義 支持的RDBMS
% 包含零個或更多字符的任意字符串 所有RDBMS
_(下劃線) 任何單個字符 所有RDBMS
舉例:
SELECT 列名 FROM 表名 WHERE 列名 LIKE '%hour%'; #包含hour。
SELECT 列名 FROM 表名 WHERE 列名 LIKE 'hour%'; #以hour結尾。
SELECT 列名 FROM 表名 WHERE 列名 LIKE '%hour'; #以hour開始。
SELECT 列名 FROM 表名 WHERE 列名 LIKE '%_h_%'; 一個_代表一個字符,這裏代表查詢三個字符,且中 間字母爲h。
注意:使用模式匹配時要特別注意細節,有時在模式中包含一個空格會導致不同的結果。
*處理空值數據
SELECT 列a,列b FROM 表名 WHERE 列c IS NOT NULL;#測試列c不爲空值的情況。
SELECT 列a,列b FROM 表名 WHERE 列c IS NULL;#測試列c爲空值的情況。
*排序操作
SELECT 列a,列b,列c FROM 表名 WHERE ORDER BY 列d,列e,列f;
注意:列a,列b,列c和列d,列e,列f可以相同,也可以不相同。
單列升序排序:
SELECT 列a,列b,列c FROM 表名 WHERE ORDER BY 列d ASC;
單列降序排序:
SELECT 列a,列b,列c FROM 表名 WHERE ORDER BY 列d DESC;
第六章.總結
*使用聚合函數進行統計彙總
1. COUNT:返回結果集中行的數目
SUM:返回單個列的合計值。(爲空的數據不會被統計出來)
AVG:返回某個列的平均值。
MAX:返回某個列的最大值。
MIN:返回某個列的最小值。
2.執行行和列計數
SELECT COUNT(<計數規範>) FROM <表名>;
SELECT SUM(<計數規範>) FROM <表名>;
其他的類似的寫。
計數規範 | 含義 |
* | 計數所有的行,包括NULL值 |
ALL列 | 計數所有列的非空值行。不包括空值(NULL)。這是默認操作 |
DISTINCT列 | 計數所有列的所有唯一非空值行。排除重複的數據再統計數據。 |
*數據分組(有點不懂)
1.過濾分組數據
SELECT 列a,聚合函數(聚合函數規範) FROM 表名 WHERE 過濾條件 GRUOP BY 列a;