본문 바로가기

코딩테스트

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

728x90

 

🤔 배운 것

COLUMN 값이 NULL이면 지정한 형식으로 출력하는 것, 정렬 기준을 여러개 세우는 것

 

// 먼저 전체 column에 대해 조회해야 하기 때문에

SELECT * FROM PATIENT;

// 문제의 조건인 12세이면서 여자아이 이므로

SELECT * FROM PATIENT WHERE AGE<='12' AND GEND_CD = 'W';

// 나이를 기준으로 내림차순 정렬하고 나이가 같다면 이름을 기준으로 오름차순

SELECT * FROM PATIENT WHERE AGE<='12' AND GEND_CD = 'W' ORDER BY AGE DESC, PT_NAME ASC;

// 이때 전화번호가 NULL이면 NONE으로 출력해야 한다.
// 전체 출력을 위해 *를 사용했는데 IFNULL을 사용하려면
// COLUMN들을 일일히 명시해줘야하는 것 같다

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

 

728x90
반응형