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

kiki·2023년 12월 27일
0

프로그래머스

목록 보기
19/78

문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/132201

문제 설명

  • PATIENT 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회
  • 전화번호가 없는 경우, 'NONE'으로 출력
  • 나이를 기준으로 내림차순 정렬, 나이 같다면 환자이름을 기준으로 오름차순 정렬

정답

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

정리

  • NULL값 치환: NULL값을 치환해주기 위해 IFNULL(~,x)를 사용한다. x에 NULL을 치환하고싶은 값(문자열)을 넣어주면 된다.
    • 이렇게 SELECT 뒤 컬럼에 함수를 감싸주는 경우 컬럼 명이 변하기 때문에 AS로 컬럼명을 다시 바꿔줘야하나보다.
  • 정렬 여러개: 정렬을 두가지 기준에 맞춰 순서대로 해주고싶다면, ORDER BY A, B처럼 컬럼 이름을 콤마로 연결해주면 된다.
  • 정렬은 조건문 뒤에!

메모

언어를 새로 배운다니 신난다. 아직 쉬운 단계여서 그런 것일지도 모르지만 ~ 열심히 배워두자! 언젠가 쓸모가 있을 것이다.

0개의 댓글