使用where子句对表中的数据筛选,结果为true的行会出现在结果集中,语法如下:

select * from 表名 where 条件;

where后面的筛选条件有以下5种:

1.比较运算符

等于:=

大于:>

大于等于:>=

小于:<

小于等于:<=

不等于:!=

通过以下几个例子来加深理解:

 

  • 查询没被删除的学生
select * from students where isdelete=0;

 

  • 查询编号大于3的学生
select * from students where id>3;
  • 查询编号不大于4的科目
select * from subjects where id<=4;
  • 查询姓名不是“黄蓉”的学生
select * from students where sname!='黄蓉';

2.逻辑运算符

and

or

not

例如:

  • 查询编号大于3的女同学
select * from students where id>3 and gender=0;
  • 查询编号小于4或没被删除的学生
select * from students where id<4 or isdelete=0;

3.模糊查询

like

%表示任意多个任意字符

_表示一个任意字符

例:

  • 查询姓黄的学生
select * from students where sname like '黄%';
  • 查询姓黄并且名字是一个字的学生
select * from students where sname like '黄_';
  • 查询姓黄或叫靖的学生
select * from students where sname like '黄%' or sname like '%靖%';

 

4.范围查询

in表示在一个非连续的范围内

between ... and ...表示在一个连续的范围内

例:

  • 查询编号是1,3,8的学生
select * from students where id in(1,3,8);
  • 查询编号是3-8的学生
select * from students where id between 3 and 8;

 

5.空判断

注意:null与空字符串''是不同的

判空is null

判非空is not null

例:

  • 查询没有填写地址的学生
select * from students where hometown is null;
  • 查询填写了地址的女生
select * from students where hometown is not null and gender=0;