当我们在一个具有多个NULL值的列上使用DISTINCT子句时,MySQL将把所有的NULL值视为相同。
这意味着根据DISTINCT子句的属性,MySQL将在结果集中只返回一个NULL值,并消除其他的NULL值。考虑一个名为“testing”的表的例子,其中在列“Lname”中有多个NULL值。
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)
登录后复制
从上面的查询中可以看出,当我们在具有四个NULL值的列'Lname'上使用DISTINCT子句时,MySQL只返回一个NULL并消除其他值。
以上就是当我们对具有多个 NULL 值的列使用 DISTINCT 子句时,MySQL 返回什么?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!