小伙伴想精準查找自己想看的MySQL文章?喏 → MySQL江湖路 | 專欄目錄
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的也關聯起來,
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/271436.html
標籤:其他
