3、比较运算符

比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较的结果为真则返回1,比较的结果为假则返回0,其他情况则返回NULL。比较运算符经常被用来作为SELECT查询语句的条件来使用,返回符合条件的结果记录。

运算符

名称

作用

示例

=

等于运算符

判断表达式是否相等

SELECT 1 = 2;

<=>

安全等于运算符

判断表达式是否相等,可以判断NULL,结果是0或1,不是NULL

SELECT 1 <=> NULL,NULL <=> NULL;

<>或!=

不等于运算符

判断两个值是否不相等

SELECT 1 <>(!=) 2;

<

小于运算符

判断小于

SELECT 1 < 2;

<=

小于等于运算符

判断小于等于

SELECT 1 <= 2;

>

大于运算符

判断大于

SELECT 1 > 2;

>=

大于等于运算符

判断大于等于

SELECT 1 >= 2;

1、等号运算符

等号运算符(=)判断等号两边的值、字符串或表达式是否相等,如果相等则返回1,不相等则返回0。

在使用等号运算符时,遵循如下规则:

  • 如果等号两边的值、字符串或表达式都为字符串,则MySQL会按照字符串进行比较,其比较的是每个字符串中字符的ANSI编码【就是 ASCII 编码】是否相等。
  • 如果等号两边的值都是整数,则MySQL会按照整数来比较两个值的大小。
  • 如果等号两边的值一个是整数,另一个是字符串,则MySQL会将字符串转化为数字进行比较。
  • 如果等号两边的值、字符串或表达式中有一个为NULL,则比较结果为NULL。

2、安全等于运算符

安全等于运算符(<=>)与等于运算符(=)的作用是相似的,唯一的区别是‘<=>’可以用来对NULL进行判断。在两个操作数均为NULL时,其返回值为1,而不为NULL;当一个操作数为NULL 时,其返回值为0,而不为NULL

对比:SQL中赋值符号使用 :

SELECT 1 = 2,'a' = 'a',1 = 'a',1 = NULL,NULL = NULL
FROM DUAL;
结果集
0	1	0	null	null

SELECT 1 <=> NULL,NULL <=> NULL
FROM DUAL;
结果集
0	1

3、不等于运算符

不等于运算符(<>和!=)用于判断两边的数字、字符串或者表达式的值是否不相等,如果不相等则返回1,相等则返回0。

不等于运算符不能判断NULL值。如果两边的值有任意一个为NULL,或两边都为NULL,则结果为NULL。

SELECT 1 != 1,1 != 2,1 != NULL,NULL != NULL
FROM DUAL;
结果集
0	1	null	null

SELECT 1 <> 1,1 <> 2,1 <> NULL,NULL <> NULL
FROM DUAL;
结果集
0	1	NULL	NULL

4、大于小于运算符

比较运算符两边值或表达式大小,左边大于右边就返回1,右边大于左边就是0.小于号也是一样的。有NULL参加就是NULL

一般作为条件查询where条件

SELECT 1 < 8,9 > 2,1 < NULL,NULL > NULL
FROM DUAL;
结果集
1	1	null	null

SELECT last_name,salary
FROM employees
WHERE salary > 5000;

SELECT last_name,salary
FROM employees
WHERE salary >= 5000;

SELECT last_name,salary
FROM employees
WHERE salary < 5000;

SELECT last_name,salary
FROM employees
WHERE salary <= 5000;