条件查询
elect … from 表名 where …
比较运算符
>
查询大于18岁的信息
select * from students where age>18;
select id,name,gender from students where age>18;
<
查询小于18岁的信息
select * from students where age<18;
>= <=
查询小于或等于18岁的信息
=
查询年龄为18岁的所有学生的名字
select * from students where age=18;
!= 或者 <>
逻辑运算符
and
18到28岁之间所有学生的信息
select * from students where age>18 and age<28;
失败select * from students where age>18 and <28;
18岁以上的女性
select * from students where age>18 and gender=“女”;
select * from students where age>18 and gender=2;
or
18岁以上或者身高查过180(包含)以上
select * from students where age>18 and height>=180;
not
不在 18岁以上的女性 这个范围内的信息
select * from students where not age>18 and gender=2;
select * from students where not (age>18 and gender=2);
年龄不是小于或者等于18 并且是女性
select * from students where (not age<=18) and gender=2;
模糊查询
like
% 替换1个或者多个
_ 替换1个
查询姓名中 以 “小” 开始的名字
select name from students where name=“小”;
select name from students where name like “小%”;
查询姓名中 有"小" 所有的名字
select name from students where name like “%小%”;
查询有2个字的名字
select name from students where name like “__”;
查询有3个字的名字
select name from students where name like “___”;
查询至少有2个字的名字
select name from students where name like “__%”;
rlike 正则
查询以 周开始的姓名
select name from students where name rlike “^周.*”;
查询已 周开始、伦结尾的姓名
select name from students where name rlike “^周.*伦$”;
范围查询 in(1, 3,8 )表示在一个非连续的范围内
查询 年龄为18、34的名字
select name,age from students where age=18 or age=34;
select name,age from students where age=18 or age=34 or age=12;
select name,age from students where age in (12, 18, 34);
not in 不非连续的范围之内
年龄不是 18、34岁之间的信息
select name,age from students where age not in (12, 18, 34);
between … and …表示在一个连续的范围内
查询 年龄在18到34之间的信息
select name,age from students where age between 18 and 34;
not between … and …表示不在一个连续的范围内
查询 年龄不在在18到34之间的的信息
select * from students where age not between 18 and 34;
select * from students where not age between 18 and 34;
失败的select * from students where age not (between 18 and 34);