목차
문제 설명

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 옆에 컬럼명을 적어주면 그 컬럼에 관한 조건비교를 간편하게 할 수 있음