[프로그래머스 SQL/132201] 12세 이하인 여자 환자 목록 출력하기
in Study / Coding Test
☑️ 문제
☑️ 풀이
첫 번째 풀이 - CASE
SELECT PT_NAME, PT_NO, GEND_CD, AGE,
CASE
WHEN TLNO IS NULL THEN 'NONE'
ELSE TLNO
END AS 'TLNO'
FROM PATIENT
WHERE AGE <= 12 AND GEND_CD = 'W'
ORDER BY AGE DESC, PT_NAME ASC
- CASE 문을 사용하여 TLNO가 NULL이면
‘NONE’
을 반환하고, 아닌 경우 TLNO 값을 그대로 반환한다.
두 번째 풀이 - COALESCE
SELECT PT_NAME, PT_NO, GEND_CD, AGE, COALESCE(TLNO, 'NONE') AS 'TLNO'
FROM PATIENT
WHERE AGE <= 12 AND GEND_CD = 'W'
ORDER BY AGE DESC, PT_NAME ASC
- COALESCE 함수는 주어진 값들 중 첫 번째 NULL이 아닌 값을 반환한다.
- TNLO가 NULL인 경우
'NONE'
을 반환하며, NULL이 아닌 경우 TLNO 값을 그대로 반환한다. - CASE 문 보다는 좀 더 간결하다.