코딩테스트

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

히그다스 2023. 9. 7. 19:19

 

 

오늘은 SQL

 

 

 

 

오늘도 역시나 문제 잘 보기

 

SELECT 환자이름, 환자번호, 성별코드, 나이, 전화번호(전화번호가 없는 경우, 'NONE'으로 출력)

FROM PATIENT 테이블

WHERE 12세 이하인 여자환자

ORDER BY 나이를 기준으로 내림차순, 나이 같다면 환자이름을 기준으로 오름차순

 

실패원인 1 : 우선 "여자"환자를 빼먹어서 

실패원인 2 : 전화번호가 없는 경우, 'NONE'으로 출력 → 이걸 수행할 수 있는 명령어를 몰라서

 

 

SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, "NONE")
FROM PATIENT 
WHERE AGE <= 12 and GEND_CD = "W"
ORDER BY AGE DESC, PT_NAME ASC;

 

 

구글링했다 ㅋㅋㅋㅋ

COALESCE도 있긴 한데 좀 더 간단한 IFNULL 사용

 

 

https://velog.io/@gillog/DB-MySQL-NULL-%EC%B2%98%EB%A6%ACIFNULL-CASE-COALESCE

 

[DB] MySQL NULL 처리(IFNULL, CASE, COALESCE)

MySQL에서 Column의 값이 Null인 경우를 처리해주는 함수들은 IFNULL, CASE, COALESCE과 같은 함수들이 있다.Orcale의 NVL()과 비슷한 기능을 한다.해당 Column의 값이 NULL을 반환할 때, 다른 값으로 출력할 수 있

velog.io

 

 

몰라서 못하는거지 구글링하면 뚝딱 해결

 

 


출처 : 프로그래머스, 기술블로그「[DB] MySQL NULL 처리(IFNULL, CASE, COALESCE)」