WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
系统注册表系统命令DOSWin8
存储光存储键盘鼠标
内存维修打印机维修
WinXPVistaWin7linux
硬件综合机箱电源/散热器手机数码
主板维修CPU维修键鼠维修网页设计
办公教程ExcelWordPowerPointWPS
网络工具系统工具图像工具
PS教程数据库局域网服务器
PHP教程CSSjavascriptXML

MySQL运算符 != 和 <> 以及 = 和 <=> 的区别

更新时间:2021-04-22 13:38 作者:陈哈哈点击:
1、运算符:!= 和 <>
 
在MySQL中!= 和 <> 的功能一致,在sql92规范中建议是:!=,新的规范中建议为: <>
下面查询username为"陈哈哈"以外的用户,以下两条语句的作用一样。
 
SELECT * FROM t_user WHERE username != "陈哈哈";
SELECT * FROM t_user WHERE username <> "陈哈哈";
 
1、运算符:= 和 <=>
 
值得一提的是 = 、 <=> 以及 is 这三个运算符的用法
 
大家都知道 is 专门用来判断是否为 NULL,而 = 则是用来判断非NULL以外的所有数据类型使用。而 <=> 则是前两者合起来。
 
先提供测试表数据如下:
 
mysql> SELECT * from t_user;
+----+-----------+----------+
| id | username  | password |
+----+-----------+----------+
|  1 | 陈哈哈    | abcd1234 |
|  2 | 侨布斯    | 1234     |
|  3 | 提莫      | 1234abcd |
|  4 | aaa       | NULL     |
|  5 | NULL      | aaaa     |
+----+-----------+----------+
5 rows in set (0.00 sec)
 
下面两个SQL的查询结果一致,均查出了username 为 NULL的数据
 
mysql> SELECT * from t_user where `username` is null;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  5 | NULL     | aaaa     |
+----+----------+----------+
1 row in set (0.00 sec)
 
mysql> SELECT * from t_user where `username` <=> null;
+----+----------+----------+
| id | username | password |
+----+----------+----------+
|  5 | NULL     | aaaa     |
+----+----------+----------+
1 row in set (0.00 sec)
 
下面两个SQL的查询结果一致,均查出了username 为 ‘陈哈哈’ 的数据
 
mysql> SELECT * from t_user where `username` = '陈哈哈';
+----+-----------+----------+
| id | username  | password |
+----+-----------+----------+
|  1 | 陈哈哈    | abcd1234 |
+----+-----------+----------+
1 row in set (0.00 sec)
 
mysql> SELECT * from t_user where `username` <=> '陈哈哈';
+----+-----------+----------+
| id | username  | password |
+----+-----------+----------+
|  1 | 陈哈哈    | abcd1234 |
+----+-----------+----------+
1 row in set (0.00 sec)
 
可见,<=>运算符相当于封装了= 和 is ,既可以判断 非NULL值,也可以用来判断NULL值。
 
<=> 只用于MySQL数据库,username <=> NULL 得 0 等价 username is NULL,NOT(username <=> NULL) 等价 username is NOT NULL;
当col1,col2两个可能存在NULL值的列需要进行相等比较时,可以使用 col1 <=> col2,可以把null=null的也关联起来。
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容