听海@看日落

2020-07-07   阅读量: 778

Mysql

​SQL条件查询

扫码加入数据分析学习群

-- 比较运算符
-- where 条件
-- >
# 查询年龄大于18岁的信息
select * from students where age>18;

-- <
# 查询小于18岁的信息
select * from students where age<18;

-- <=
# 查询小于或者等于18岁的信息
select * from students where age<=18;

-- = 而不是 '=='
# 查询年龄为18岁的所有学生的名字
select name from students where age=18;

-- != 或者 <> 实际开发中 最好使用 ! 表示不等于
-- <> 不够通用
# 查询年龄不为18岁的信息
select * from students where age!=18;

-- 逻辑运算符
-- and
# 18岁以上的女性
select * from students where age>18 and gender='女';

-- or
# 18岁以下的男生或者女生
select * from students where age<18 and(gender='男' or gender='女');

-- not 非
# 年龄不是18岁的学生
select * from students where age!=18;
select * from students where not age=18;
-- 年龄是小于或者等于18 并且是女性
# select * from students age<=18 and gender='女';

-- 模糊查询
-- like
-- % 表示任意字符可有可无
# 查询姓名中 以 "小" 开始的名字
select name from students where name like "小%";
# 姓名中包含杰
select * from students where name like "%杰%";

-- _ 表示任意一个字符
# 查询有2个字的名字
select name from students where name like "__";
# 查询有3个字的名字
select name from students where name like "___";

-- rlike 正则
-- python 中match方法表示从头开始匹配
# 查询以 周开始的姓名
select name from students where name rlike "^周.*";

-- 范围查询
-- in表示在一个非连续的范围内
# 查询 年龄为18、34岁的学生
select * from students where age in (18,34);

-- not in 不在非连续的范围之内
# 年龄不是 18、34岁的学生的信息
select * from students where age not in (18,34);
# 年龄不是 18、34岁之间的信息
select * from students where age<18 or age>34;

-- between ... and ...表示在一个连续的范围内 两边都会包含
# 查询 年龄在18到34之间的的信息
select * from students where age between 18 and 34;

-- not between ... and ...表示不在一个连续的范围内
# 查询 年龄不在在18到34之间的的信息
select * from students where age not between 18 and 34;

-- 空判断 null 不能够使用比较运算符
# 查询身高为空的信息
select * from students where height is null;
# 查询身高不为空的学生
select * from students where height is not null;


21.2373 3 3 关注作者 收藏

评论(0)


暂无数据

推荐课程