MySQL学习-运算符(三)

220 阅读2分钟

一起养成写作习惯!这是我参与「掘金日新计划 · 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
nameremark
testNULL

结果和上一节的安全运算符<=>的结果相同。下面查询不为NULL的结果。

IS NOT NULL

运算符示例2

SELECT name, remark
FROM Test
WHERE remark IS NOT NULL
nameremark
testremark

结果查出了remark不为NULL的数据。

ISNULL

运算符示例3

SELECT name, remark
FROM Test
WHERE ISNULL(remark)
nameremark
testNULL

从查询条件可以看出这里ISNULL相当于一个函数。结果也是能查出为NULL的数据。

<=>运算符查询不等于NULL

运算符示例4

在上一节学习安全等于运算符<=>时,我们可以利用它查询到结果为NULL的数据,但是结果不为NULL的数据怎么查询呢?这里也是有办法的,可以在WHERE关键字后加NOT,就可以查出来了,请看以下示例:

SELECT name, remark
FROM Test
WHERE NOT remark <=> NULL
nameremark
testremark

这样呢结果就查出了remark不为NULL的数据。

今天先学习到这里,明天继续下一节的学习。