第7章 对数据表的复杂查询
7-1 条件查询之比较运算符
7-2 条件查询之逻辑运算符和范围运算符
7-3 条件查询之模糊查询
7-4 条件查询之结果排序
7-5 条件查询之聚合函数
7-6 条件查询之分组查询
7-7 条件查询之Limit分页
7-1 条件查询之比较运算符
大于>
小于<
小于等于<=
大于等于>=
等于=
<>、!=不等于
7-2 条件查询之逻辑运算符和范围运算符
逻辑运算符
and 多个条件同时满足
or 多个条件其中一个满足
not 不满足
SELECT * FROM 表名 WHERE 运算符 逻辑运算符 运算符;
NOT 与其他用法不一样
SELECT * FROM 表名 WHERE NOT 运算符;
in关键字
SELECT 字段名 FROM 表名 WHERE 字段 in (数据1,数据2…);
扫描二维码关注公众号,回复: 13903725 查看本文章
- select * from hero where id in (1,2,3);等价于select * from hero where id=1 or id=2 or id=3;
IN 里面的每个数据都会作为一次条件,只要满足条件就会显示
范围:
between 值1 and 值2 表示从值1到值2 的范围,包括值1.2
7-3 条件查询之模糊查询
LIKE 表示模糊查询
SELECT *FROM 表名 WHERE 字段名 LIKE ‘通配符字符串’;
满足通配符字符串规则的数据就会显示出来
MySQL通配符有两个:
% :表示0个或者多个字符(任意字符) (%笔记本% 苹果笔记本 )
例如:把名字中含“孙”的名字全搜出来:LIKE ‘%孙%’;
_:表示一个字符 (笔记_ 笔记本 笔记1)
例如:把姓孙的且名字是三个字的名字搜出来:LIKE ‘孙_ _’;
7-4 条件查询之结果排序
ORDER BY 子句,可以将查询的结果进行排序
排序只是显示方式,不会影响数据库的顺序
单列排序
语法 :SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名[ASC|DESC];
ASC : 升序 ,默认升序
DESC : 降序
组合排序
SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名1[ASC|DESC],字段名2[ASC|DESC];