当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


MySQL WHERE用法及代码示例


WHERE 子句允许我们向查询添加条件。只有符合我们条件的记录才会被检索。

MySQL支持以下条件:

健康)状况

=(等于)

<>(不等于)

<

>

<=

>=

BETWEEN

LIKE

IN

注意

正式的 SQL 标准将 =<> 定义为等于和不等于的运算符。因此不建议使用==表示相等,使用!=表示不等。

用法

SELECT column_name(s)
FROM table_name
WHERE condition;

例子

请考虑下表有关学生的课外活动:

student_id

俱乐部

date_entered

1

Football

2016-02-13

2

Boxing

2016-05-25

3

Apple

2018-08-17

4

Fishing

2017-01-01

5

NULL

NULL

可以使用此处的代码创建上述示例表。

基本用法

要检索在 2017-01-01 之前加入俱乐部的学生:

SELECT * 
FROM extracurricular
WHERE date_entered < '2017-01-01';



+------------+----------+--------------+
| student_id | club     | date_entered |
+------------+----------+--------------+
|          1 | Football | 2016-02-13   |
|          2 | Boxing   | 2016-05-25   |
+------------+----------+--------------+

在 2017 年 1 月 1 日之前,只有 ID 为 12 的学生才加入俱乐部。

要检索属于 Fishing 俱乐部的学生:

SELECT * 
FROM extracurricular
WHERE club = 'Fishing';



+------------+---------+--------------+
| student_id | club    | date_entered |
+------------+---------+--------------+
|          4 | Fishing | 2017-01-01   |
+------------+---------+--------------+

过滤缺失值

我们可以使用 IS NOT NULL 运算符过滤掉NULL记录:

SELECT * 
FROM extracurricular 
WHERE club IS NOT NULL;



+------------+----------+--------------+
| student_id | club     | date_entered |
+------------+----------+--------------+
|          1 | Football | 2016-02-13   |
|          2 | Boxing   | 2016-05-25   |
|          3 | Chess    | 2018-08-17   |
|          4 | Fishing  | 2017-01-01   |
+------------+----------+--------------+

我们可以看到student_id=5的记录已经被过滤掉了。

相关用法


注:本文由纯净天空筛选整理自Arthur Yanagisawa大神的英文原创作品 MySQL | WHERE。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。