본문 바로가기
카테고리 없음

[PROGRAMMERS] 12세 이하인 여자 환자 목록 출력하기

by alasdkfm 2022. 11. 27.

목차

    문제 설명

    PATIENT 테이블

    PATIENT 테이블에서 12세 이하인 여자환자의 모든 정보를 조회하는 SQL 문 작성. 

    전화번호가 없는 경우 "NONE": 으로 출력

    결과는 나이기준으로 내림차순하고 같은 나이의 환자는 이름순으로 오름차순 정렬하라. 

     

    코드

    sql
    닫기
    SELECT PT_NO, PT_NAME, GEND_CD, AGE, ​​​​CASE WHEN TLNO IS NULL THEN "NONE" ​​​​​​​​ELSE TLNO ​​​​​​​​END AS TLNO FROM PATIENT WHERE AGE <=12 AND GEND_CD = "W" ORDER BY AGE,PT_NAME;

     

    SQL에서 조건문 사용하기 

    - SELECT 절에서 사용한다 

     

    단일 CASE WHEN 

    sql
    닫기
    -- CASE문 CASE WHEN 조건 THEN 참일때 값 ELSE 거짓일때 값 END AS 컬럼명;

    다중 CASE WHEN 

    sql
    닫기
    -- 에시로 성적을 출력한다고 할 때 SELECT * , (CASE WHEN SCORE >= 90 THEN "A" ‌‌​​​WHEN (SCORE >= 80 AND SCORE < 90) THEN "B" ‌​​​​​​​​​​WHEN (SCORE >= 70 AND SCORE <80) THEN "C" ​​​​​​​​​​ELSE "F" ​​​​​END ) AS "SCORE" FROM STUDENT;

     

    하나의 컬럼에 관한 CASE문

    sql
    닫기
    SELECT PT_NO, PT_NAME, ​​​​(CASE GEND_CD ​​​​​​​​WHEN "W" THEN "여성" ​​​​​​​​ELSE "남성" ​​​​​​​​END )AS GENDER ,AGE FROM PATIENT ORDER BY AGE,PT_NAME;

    CASE 옆에 컬럼명을 적어주면 그 컬럼에 관한 조건비교를 간편하게 할 수 있음