Computer >> Máy Tính >  >> Lập trình >> MySQL

MySQL trả về gì khi chúng ta sử dụng mệnh đề DISTINCT với cột có nhiều giá trị NULL?

Khi chúng ta sử dụng mệnh đề DISTINCT trên một cột có nhiều giá trị NULL thì tất cả các giá trị NULL được MySQL xử lý như nhau.

Có nghĩa là theo thuộc tính của mệnh đề DISTINCT, MySQL sẽ chỉ trả về một giá trị NULL trong tập kết quả và loại bỏ các giá trị khác. Hãy xem xét ví dụ về một bảng có tên "testing" có nhiều giá trị NULL trong cột "Lname".

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)

Từ truy vấn trên, có thể thấy rằng MySQL chỉ trả về một NULL và loại bỏ các giá trị khác khi chúng ta sử dụng mệnh đề DISTINCT trên cột ‘Lname’ có bốn giá trị NULL.