자바 ORM 표준 JPA 프로그래밍(인프런)

Ch10. 객체지향 쿼리 언어1(기본 문법) - 조건식(CASE 등등)

webmaster 2021. 12. 17. 14:23
728x90

기본 CASE 식

select
 case when m.age <= 10 then '학생요금'
 when m.age >= 60 then '경로요금'
 else '일반요금'
 end
from Member m

기본 Case 식

  • 기본 Case 식으로 age <= 10 일 때, 학생요금, age >= 60 일 때 경로 요금, 그 외 일반요금을 프로젝션으로 출력한다.

단순 CASE 식

select
 case t.name
 when '팀A' then '인센티브110%'
 when '팀B' then '인센티브120%'
 else '인센티브105%'
 end
from Team t

조건식 - CASE 식

COALESCE: 하나씩 조회해서 null이 아니면 반환

select coalesce(m.username,'이름 없는 회원') from Member m

COALESCE 적용

  • username값이 null이 아니면 이름없는회원으로 출력

NULLIF: 두 값이 같으면 null 반환, 다르면 첫 번째 값 반환

select NULLIF(m.username, '관리자') from Member m

NULLIF

  • username이 관리자면 null 반환, 아니면 username 반환
728x90