読みたいMySQLの記事を正確に知りたいですか?こちら→ MySQLJianghu Road |列リスト
1.演算子:!=および<>
- MySQL
!=
と<>
一貫した機能では、sql92仕様は次!=
のように推奨されます。新しい仕様が推奨されます。<>
ユーザー名が「ChenHaha」以外のユーザーに対する次のクエリでは、次の2つの文で同じ効果があります。
SELECT * FROM t_user WHERE username != "陈哈哈";
SELECT * FROM t_user WHERE username <> "陈哈哈";
1.演算子:=および<=>
これは、その言及する価値がある=
、<=>
と同様にis
3つの演算子の使用
これはNULLかどうかを判別するために設計されており、NULL=
以外の使用以外のすべてのタイプのデータを判別するために使用されることは誰もが知っています。そして<=>
それは一緒に最初の2つです。
まず、次のようにテストテーブルデータを提供します。
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)
次の2つのSQLクエリの結果は同じであり、ユーザー名が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)
次の2つのSQLクエリの結果は同じであり、ユーザー名が「ChenHaha」であるデータが見つかります。
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はユーザー名がNULLにNOT(username <=> NULL)
相当し、ユーザー名がNOTNULLに相当します。 - col1とcol2がNULL値の可能性がある2つの列が等しいかどうかを比較する必要がある場合は、col1 <=> col2を使用でき、null = nullを関連付けることもできます。