[TIL 21th] LeetCode 584. Find Customer Referee
by 노실언니
Customer 테이블에서 referee_id 컬럼의 값이 2가 아닌 고객들의 이름을 찾으라는 아주 쉬워보이는 문제이다.
SELECT name FROM Customer WHERE referee_id <> 2 로 제출했는데 성공하지 못하고 덜걱거려서 글로 남겨둔다.
MySQL 은 3가지의 논리값을 가진다; TRUE, FALSE 그리고 UNKNOWN.
NULL과 2가 같은지 비교할 때, NULL도 결국 2와 다른 값이니 FALSE 가 나올 거라고 직감적으로 생각했지만,
NULL 과의 비교는 항상 UNKNOWN이 나온다고 한다.
NULL 과 제대로 비교하는 명령어 IS NULL 과 IS NOT NULL 이 존재하는 이유라고 한다.
그러니까,
SELECT name FROM Customer WHERE referee_id <> 2 이거 말고
SELECT name FROM Customer WHERE referee_id <> 2 OR referee_id IS NULL 이게 답!
블로그의 정보
노력하는 실버티어
노실언니