Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

여러 NULL 값이 있는 열에 DISTINCT 절을 사용할 때 MySQL이 반환하는 것은 무엇입니까?

<시간/>

여러 NULL 값을 가진 열에 DISTINCT 절을 사용하면 모든 NULL 값이 MySQL에서 동일하게 처리됩니다.

이는 DISTINCT 절의 속성에 따라 MySQL이 결과 집합에서 하나의 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)

위의 쿼리에서 MySQL은 4개의 NULL 값을 가진 컬럼 'Lname'에 DISTINCT 절을 사용할 때 하나의 NULL만 반환하고 나머지는 제거함을 알 수 있습니다.