Algorithm/Programmers SQL

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

제우제우 2024. 9. 6. 17:56

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

코딩테스트 연습 > SELECT > 12세 이하인 여자 환자 목록 출력하기

문제 분석 

난이도: LEVEL1 

문제 요구사항

1. 12세 이하 [WHERE]

2. 여자 [WHERE] 

3. 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회 [SELECT] 

4. 나이를 기준으로 내림차순 정렬 [ORDER BY] 

5. 나이 같다면 환자이름을 기준으로 오름차순 정렬 [ORDER BY] 

6. 전화번호가 없는 경우, 'NONE'으로 출력 [SELECT + CASE WHEN THEN]

 

1) AGE <= 12

2) GEND_CD = 'W'

3) SELECT PT_NAME, PT_NO, GEND_CD, AGE

4,5) ORDER BY AGE DESC, PT_NAME ASC  

6) 

(CASE
      WHEN TLNO IS NOT NULL THEN TLNO 
      ELSE 'NONE'
 END)  AS TLNO

정답 코드 

SELECT PT_NAME, PT_NO, GEND_CD, AGE, 
(CASE
    WHEN TLNO IS NOT NULL THEN TLNO 
    ELSE 'NONE'
 END) AS TLNO
FROM PATIENT
WHERE 
AGE <= 12 AND 
GEND_CD = 'W'
ORDER BY 
AGE DESC, PT_NAME ASC