본문 바로가기
CS/SQL

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

by abcodef 2023. 7. 15.

IF문에 대해 친숙해질 수 있어서 좋았다.

문제에서 요구하는 조건

  1. 12세 이하인 여자환자 조회
  2. 환자이름, 환자번호, 성별코드, 나이, 전화번호 조회
  3. 전화번호가 없는 경우 'NONE'으로 출력
  4. 나이를 기준으로 내림차순 정렬, 나이가 같다면 환자 이름을 기준으로 오름차순 정렬

내가 작성한 답

SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, 'NONE') AS TLNO FROM PATIENT WHERE AGE<=12 AND GEND_CD ='W' ORDER BY AGE DESC, PT_NAME ASC

분석

SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, 'NONE') AS TLNO FROM PATIENT
  • 전화번호가 없는 경우 NONE으로 출력하기 위해 IFNULL()를 사용함
  • IF(TLNO IS NULL, 'NONE', TLNO) AS TLNO 사용도 가능함
WHERE AGE<=12 AND GEND_CD ='W'
  • AND 대신 자꾸 ,를 사용해서 오류가 발생함. AND를 사용해야 함.
ORDER BY AGE DESC, PT_NAME ASC
  • 나이를 기준으로 내림차순 정렬하기 위해 DESC를 사용함
  • ASC는 생략 가능함

댓글