SQL/MY SQL 문제 풀이(프로그래머스)

[MYSQL] PROGRAMMERS_12세 이하인 여자 환자 목록 출력하기

SQL공부 2024. 2. 21. 00:23
반응형

SELECT PT_NAME,	PT_NO ,	GEND_CD, AGE, IFNULL(TLNO,'NONE') as TLNO
FROM PATIENT
WHERE 1=1
AND AGE <=12
AND GEND_CD = "W"
ORDER BY AGE desc, PT_NAME

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

 

"12세 이하"인 "여자" 환자의 데이터를 조회 하고 "없는 경우 NONE" 처리 그 후 내림차순 오름차순 정렬을 하는 문제이다.

12세 여자의 조건을 <=12 ="W" and 조건으로 처리 하고 IFNULL 구문을 통해 NULL인 경우 NONE으로 해당컬럼 값을 대체해 주었다. 컬럼명도 TLNO로 처리해 주었지만 따로 alias 문으로 변경하라는 조건은 없어 처리할 필요는 없다.

 

IFNULL의 경우 MYSQL용 함수이다.  SQL SERVER 에서는 ISNULL 오라클에서는 NVL 함수를 사용한다.

반응형