코딩 테스트

[SQL] 12세 이하인 여자 환자 목록 출력하기

S_N_Y 2024. 1. 7. 23:38

문제 :

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

테이블 :

정답 :

SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, "NONE")
FROM PATIENT 
WHERE AGE BETWEEN 0 AND 12 AND GEND_CD = "W" 
ORDER BY AGE DESC, PT_NAME ASC;

설명 : SELECT에 각각 환자이름, 환자번호, 성별 코드, 나이, 전화번호를 넣는데

전화번호(TLNO)가 없으면(IFNULL) NONE으로 출력하라는 말이다.

PATIENT 테이블에서 가져오는 것이니 FROM에 넣어주고

WHERE문에 12세 이하인 여자인 코드를 집어넣어준다.

마지막으로 나이를 기준으로 내림차순 정렬인데 조건이 하나 더 들어가는 것은 바로 옆에 따옴표(,)를 찍은 후 붙여주면 되는 간단한 SQL문이다