오경석의 개발노트

SQL_코딩테스트(12세 이하 여자 환자 목록 출력) 본문

프로그래밍 언어/SQL

SQL_코딩테스트(12세 이하 여자 환자 목록 출력)

OHSAYU 2023. 12. 10. 00:36

-- Oracle
SELECT PT_NAME, 
       PT_NO, 
       GEND_CD, 
       AGE, 
       NVL(TLNO, 'NONE') AS TLNO
FROM PATIENT
WHERE GEND_CD = 'W'
AND AGE <= 12
ORDER BY AGE DESC, PT_NAME;
-- MySQL
SELECT PT_NAME, 
       PT_NO, 
       GEND_CD, 
       AGE, 
       IFNULL(TLNO, 'NONE') AS TLNO
FROM PATIENT
WHERE GEND_CD = 'W'
AND AGE <= 12
ORDER BY AGE DESC, PT_NAME;
-- MySQL
SELECT PT_NAME, 
       PT_NO, 
       GEND_CD, 
       AGE, 
       COALESCE(TLNO, 'NONE') AS TLNO
FROM PATIENT
WHERE GEND_CD = 'W'
AND AGE <= 12
ORDER BY AGE DESC, PT_NAME;

 

코드리뷰

1. NULL값일 경우 대체할 값 출력(Oracle - NVL, MySQL - IFNULL or COALESCE, 칼럼명은 기존 그대로 가져가기 위해 Aliashing)

2. 마지막 ORDER BY 정렬문에서 내림차순은 DESC 표시, 오름차순은 ASC 생략 가능

 

 

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

 

프로그래머스

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

programmers.co.kr

Comments