[프로그래머스 SQL/132201] 12세 이하인 여자 환자 목록 출력하기

☑️ 문제

프로그래머스 132201

☑️ 풀이

첫 번째 풀이 - 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 문 보다는 좀 더 간결하다.

© 2021. All rights reserved.

yaejinkong의 블로그