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

ByungJik_Oh·2025년 9월 3일
0

[Programmers - SQL]

목록 보기
16/39
post-thumbnail

💡 문제

다음은 종합병원에 등록된 환자정보를 담은 PATIENT 테이블입니다. PATIENT 테이블은 다음과 같으며 PT_NO, PT_NAME, GEND_CD, AGE, TLNO는 각각 환자번호, 환자이름, 성별코드, 나이, 전화번호를 의미합니다.

Column nameTypeNullable
PT_NOVARCHAR(10)FALSE
PT_NAMEVARCHAR(20)FALSE
GEND_CDVARCHAR(1)FALSE
AGEINTEGERFALSE
TLNOVARCHAR(50)TRUE

PATIENT 테이블에서 12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회하는 SQL문을 작성해주세요. 이때 전화번호가 없는 경우, 'NONE'으로 출력시켜 주시고 결과는 나이를 기준으로 내림차순 정렬하고, 나이 같다면 환자이름을 기준으로 오름차순 정렬해주세요.


💭 접근

문제에서 주어진 조건을 차례대로 살펴보자

가장 먼저 12세 이하인 여자 환자의 목록을 조회해야 하므로 WHERE 절에 AGE가 12 이하이고, GEND_CDW인 행을 먼저 조회한다.

다음으로 전화번호가 없는 경우 'NONE'으로 출력해야 하니, IFNULL 함수를 사용하여 TLNO에 있는 NULL 값들을 'NONE'으로 교체한다.

마지막으로, ORDER BY 절을 사용해 AGE 기준 내림차순, PT_NAME 기준 오름차순으로 정렬해주면 된다.


📒 코드

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;

💭 후기

여러가지 조건을 적용해보는 쉬운 문제였다.


🔗 문제 출처

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


profile
精進 "정성을 기울여 노력하고 매진한다"

0개의 댓글