본문 바로가기

코딩 하루 1문제 프로젝트

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

반응형

문제

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

 

풀이

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

이렇게 했는데 계속 오답이라 나온다. 분명 틀린 것이 없는데 말이다. 뭐가 문제일까? 나이순으로 내림차순하고 이름별로 오름차순을 해줬다. 

 

다시보니 WHERE 절에 '여자환자' 조건을 주지 않았다. 

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

 

이런 문제를 풀 때는, 컬럼 순서와 조건을 하나하나 꼼꼼하게 들여다봐야한다. 

 

 

반응형