MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

複数のNULL値を持つ列でDISTINCT句を使用すると、MySQLは何を返しますか?


複数のNULL値を持つ列でDISTINCT句を使用すると、すべてのNULL値がMySQLによって同じものとして扱われます。

これは、DISTINCT句のプロパティに従って、MySQLが結果セットで1つのNULL値のみを返し、他の値を削除することを意味します。 「Lname」列に複数のNULL値を持つ「testing」という名前のテーブルの例を考えてみましょう。

mysql> Select * from testing;
+------+---------+---------+
| id   | fname   | Lname   |
+------+---------+---------+
|  200 | Raman   | Kumar   |
|  201 | Sahil   | Bhalla  |
|  202 | Gaurav  | NULL    |
|  203 | Aarav   | NULL    |
|  204 | Harshit | Khurana |
|  205 | Rahul   | NULL    |
|  206 | Piyush  | Kohli   |
|  207 | Lovkesh | NULL    |
+-----+---------+----------+
8 rows in set (0.00 sec)

mysql> SELECT DISTINCT Lname from testing;
+---------+
| Lname   |
+---------+
| Kumar   |
| Bhalla  |
| NULL    |
| Khurana |
| Kohli   |
+---------+
5 rows in set (0.00 sec)

上記のクエリから、4つのNULL値を持つ列「Lname」でDISTINCT句を使用すると、MySQLは1つのNULLのみを返し、他のNULLを削除することがわかります。


  1. MySQLLIKE句を使用して「Joh」で始まる複数の値をフェッチする方法

    まずテーブルを作成しましょう- mysql> create table DemoTable (    Name varchar(40) ); Query OK, 0 rows affected (0.55 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable values('John'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values('Sam'

  2. MySQLWHERE句の複数の値で更新

    最初にテーブルを作成しましょう- mysql> create table DemoTable    -> (    -> Id int,    -> Name varchar(20),    -> Age int,    -> CountryName varchar(10)    -> ); Query OK, 0 rows affected (0.81 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します