NULL
NULL이 단순 비교 연산자는 사용할 수 없는지를 알아본다.
대신에 IS NULL과 IS NOT NULL 연산자를 사용해 본다.
NULL이 단순 비교 연산자는 사용할 수 없는지를 알아본다.
mysql> SELECT 1=NULL, 1<>NULL, 1<NULL, 1>NULL;
+--------+---------+--------+--------+
| 1=NULL | 1<>NULL | 1<NULL | 1>NULL |
+--------+---------+--------+--------+
| NULL | NULL | NULL | NULL |
+--------+---------+--------+--------+
1 row in set (0.00 sec)
- 명백히 이러한 비교문을 가지고는 의미 있는 결과를 얻어낼 수 없다.+--------+---------+--------+--------+
| 1=NULL | 1<>NULL | 1<NULL | 1>NULL |
+--------+---------+--------+--------+
| NULL | NULL | NULL | NULL |
+--------+---------+--------+--------+
1 row in set (0.00 sec)
대신에 IS NULL과 IS NOT NULL 연산자를 사용해 본다.
mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
+-----------+---------------+
| 1 IS NULL | 1 IS NOT NULL |
+-----------+---------------+
| 0 | 1 |
+-----------+---------------+
1 row in set (0.00 sec)
+-----------+---------------+
| 1 IS NULL | 1 IS NOT NULL |
+-----------+---------------+
| 0 | 1 |
+-----------+---------------+
1 row in set (0.00 sec)
- 0 또는 NULL은 거짓(false)을 의미하며 다른 것은 참(true)를 의미한다.
- boolean 연산에서 디폴트 참은 1이다.
- 0 또는 빈 스트링('')을 NOT NULL에 삽입하는 것은 확실히 가능하다.
- ORDER BY 실행시 오름차순(ASC)일 때는 가장 먼저 나오고, 내림차순(DESC)을 하면 가장 나중에 나온다.
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,