*执行范围测试(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;