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

딩나·2023년 10월 25일

SQL

목록 보기
1/13

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

SELECT PT_NAME, 
        PT_NO, 
        GEND_CD, 
        AGE, 
        IF(TLNO IS NULL, 'NONE', TLNO) AS TLNO
FROM PATIENT
WHERE AGE <= 12 AND GEND_CD = 'W'
ORDER BY AGE DESC, PT_NAME ASC;

  • IF(조건, 참일때 출력값, 거짓일때 출력값)

  • IFNULL(변수명,대체값)
    해당 변수가 NULL일때 대체값을 출력한다.

  • ISNULL(변수명)
    해당 변수가 NULL이면 1, NULL이 아니면 0을 출력한다.

  • CASE
    WHEN (조건) THEN (출력)
    END


다른풀이1

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;

다른풀이2

SELECT PT_NAME, 
        PT_NO, 
        GEND_CD, 
        AGE, 
        CASE 
            WHEN TLNO IS NULL THEN 'NONE'
            WHEN TLNO IS NOT NULL THEN TLNO
        END AS TLNO
FROM PATIENT
WHERE AGE <= 12 AND GEND_CD = 'W'
ORDER BY AGE DESC, PT_NAME ASC;

0개의 댓글