본문 바로가기

카테고리 없음

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

문제 풀이

조건 1 : 전화번호가 없는 경우, 'NONE'으로 출력

NVL(컬럼, 값)

Oracle SQL의 NVL 함수는 컬럼의 값이 Null인 경우 'NONE'으로 출력하게 한다.

다른 Null인값을 바꾸는 함수로는 NVL2함수가 있다.

NVL2(expr1, expr2, expr3)

NVL2 함수는 expr1이 널이 아닌 경우 expr2값 반환, expr1이 널인 경우 expr3 반환

조건 2 : 12세 이하인 여자환자

WHERE AGE <= 12 AND GEND_CD = 'W'

 

WHERE 절을 통해서 데이터 추출

조건 3 :  나이를 기준으로 내림차순 정렬하고, 나이 같다면 환자이름을 기준으로 오름차순 정렬

ORDER BY AGE DESC, PT_NAME ASC

소스 코드

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