一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第3天,点击查看活动详情。
前言
上篇我们学习完了算术运算符,有兴趣的小伙伴可以阅读(# MySQL学习-运算符(二))。
下面继续学习MySQL中的运算符。
比较运算符
非符号运算符
非符号运算符有IS NULL、IS NOT NULL、LEAST、GREATEST、BETWEEN AND、ISNULL、IN、NOT IN、LIKE、REGEXP、RLIKE。
| 运算符 | 名称 | 作用 | 示例 |
|---|---|---|---|
| IS NULL | 为空运算符 | 判断值、字符串或者表达式是否为空 | SELECT B FROM TABLE WHERE A IS NULL |
| IS NOT NULL | 不为空运算符 | 判断值、字符串或者表达式是否不为空 | SELECT B FROM TABLE WHERE A IS NOT NULL |
| LEAST | 最小值运算符 | 在多个值中返回最小值 | SELECT D FROM TABLE WHERE C LEAST(A, B) |
| GREATEST | 最大值运算符 | 在多个值中返回最小值 | SELECT D FROM TABLE WHERE C GREATEST(A, B) |
| BETWEEN AND | 两值之间的运算符 | 判断一个值是否在两个值之间 | SELECT D FROM TABLE WHERE C BETWEEN A AND B |
| ISNULL | 为空运算符 | 判断值、字符串或者表达式是否为空 | SELECT B FROM TABLE WHERE ISNULL(A) |
| IN | 属于运算符 | 判断一个值是否为列表中的任意一个值 | SELECT D FROM TABLE WHERE C IN(A, B) |
| NOT IN | 不属于运算符 | 判断一个值是否不是列表中的任意一个值 | SELECT D FROM TABLE WHERE C NOT IN(A, B) |
| LIKE | 模糊匹配运算符 | 判断一个值是否符合模糊匹配规则 | SELECT C FROM TABLE WHERE A LIKE B |
| REGEXP | 正则表达式运算符 | 判断一个值是否符合正则表达式的规则 | SELECT C FROM TABLE WHERE A REGEXP B |
| RLIKE | 正则表达式运算符 | 判断一个值是否符合正则表达式的规则 | SELECT C FROM TABLE WHERE A RLIKE B |
IS NULL
运算符示例1
SELECT name, remark
FROM Test
WHERE remark IS NULL
| name | remark |
|---|---|
| test | NULL |
结果和上一节的安全运算符<=>的结果相同。下面查询不为NULL的结果。
IS NOT NULL
运算符示例2
SELECT name, remark
FROM Test
WHERE remark IS NOT NULL
| name | remark |
|---|---|
| test | remark |
结果查出了remark不为NULL的数据。
ISNULL
运算符示例3
SELECT name, remark
FROM Test
WHERE ISNULL(remark)
| name | remark |
|---|---|
| test | NULL |
从查询条件可以看出这里ISNULL相当于一个函数。结果也是能查出为NULL的数据。
<=>运算符查询不等于NULL
运算符示例4
在上一节学习安全等于运算符<=>时,我们可以利用它查询到结果为NULL的数据,但是结果不为NULL的数据怎么查询呢?这里也是有办法的,可以在WHERE关键字后加NOT,就可以查出来了,请看以下示例:
SELECT name, remark
FROM Test
WHERE NOT remark <=> NULL
| name | remark |
|---|---|
| test | remark |
这样呢结果就查出了remark不为NULL的数据。
今天先学习到这里,明天继续下一节的学习。