介绍

在SELECT语句中,数据根据WHERE子句中指定的搜索条件进行过滤,WHERE子句在表名(FROM子句)之后给出

操作符

操 作 符 说 明
= 等于
<> 不等于
!= 不等于
< 小于
<= 小于等于
> 大于
>= 大于等于
BETWEEN 在指定的两个值之间

实例

=

选出 年龄为10岁 的学生

1
SELECT * FROM t_student WHERE age=10;

<>

选出 年龄不是10岁 的学生

1
SELECT * FROM t_student WHERE age<>10;

!=

选出 年龄不是10岁 的学生

1
SELECT * FROM t_student WHERE age!=10;

<

选出 年龄小于10岁 的学生

1
SELECT * FROM t_student WHERE age<10;

<=

选出 年龄小于等于10岁 的学生

1
SELECT * FROM t_student WHERE age<=10;

>

选出 年龄大于10岁 的学生

1
SELECT * FROM t_student WHERE age>10;

>=

选出 年龄大于等于10岁 的学生

1
SELECT * FROM t_student WHERE age>=10;

BETWEEN

选出 年龄为10~12岁 的学生,包括10岁和12岁

1
SELECT * FROM t_student WHERE age BETWEEN 10 AND 12;

空值检查

选出 年龄为空 的学生

1
SELECT * FROM t_student WHERE age IS NULL;

AND

选出 年龄为12岁且班级id为1 的学生

1
SELECT * FROM t_student WHERE age=12 AND classId=1;

OR

选出 年龄为11岁或者12岁 的学生

1
SELECT * FROM t_student WHERE age=11 OR age=12;

AND和OR搭配

SQL(像多数语言一样)在处理OR操作符前,优先处理AND操作符,不想优先处理就给OR加括号

年龄为11岁的学生 + 年龄为12岁且班级id为2的学生

1
SELECT * FROM t_student WHERE age=11 OR age=12 AND classId=2;

选出年龄为11岁或12岁的学生,再从这些学生中选出班级id为2的学生

1
SELECT * FROM t_student WHERE (age=11 OR age=12) AND classId=2;

IN

选出 年龄为11岁或者12岁 的学生

1
SELECT * FROM t_student WHERE age IN (11,12);

NOT

选出 年龄不是11岁或者12岁 的学生

1
SELECT * FROM t_student WHERE age NOT IN (11,12);