[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 이게 답!
반응형
'Today I Learned' 카테고리의 다른 글
[TIL 22th] 확신에 차진 않지만 걷는 걸음 / 스프링 심화주차 개인과제 완료 (0) | 2025.02.28 |
---|---|
[TIL 20th] 프로그래머스 : 로또의 최고 순위와 최저 순위 (0) | 2025.01.31 |
1월 1, 2주차 우수 TIL에 선정되다 (예? 제가요?) (0) | 2025.01.23 |
[TIL 19th] 벡터의 주소를 가리키는 포인터를 사용하면 낭패본다 (0) | 2025.01.20 |
[TIL 18th] 재귀 & 유클리드 호제법 다시 사용해보기 (0) | 2025.01.18 |
블로그의 정보
노력하는 실버티어
노실언니