Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

JPQL 조건식 - CASE 본문

인프런/[인프런] 자바ORM 표준 JPA 프로그래밍

JPQL 조건식 - CASE

Seung__ 2021. 8. 16. 16:21

1. 기본 CASE 식 


  • if와 유사, 해당 조건이 만족하면 then 하위 내용 으로 결과.
Select
   case when m.age <= 10 then '학생요금'
   when m.age >= 60 then '경로요금'
   else '일반요금'
   end
from Member m
  • 예제
           String query = "select " +
                        "case when m.age <= 10 then '학생요금'" +
                        "     when m.age >=60 then '경로요금'" +
                        "     else '일반요금' end " +
                        "from Member m";​

 

 

2. 단순 CASE 식


  • switch와 유사, 정확하게 내용이 매치되면 결과
select
	case t.name
    	when '팀A' then '인센티브 110%'
        when '팀B' then '인센티브 120%'
        else '인센티브 105%'
     end
from Team t

 

 

 

3. COALESCE


  • 하나씩 조회해서 null이 아니면 반환
  • null이면 입력한 값 반환.
  • 사용자 이름이 없으면 이름 없는 회원을 반환
  • select coalsce(m.username, '이름없는 회원') from Member m
  • 예제
  • member.setAge(10);
    
    String query = "select coalesce(m.username, '이름없는 회원') from Member m ";
    List<String> resultList = em.createQuery(query, String.class).getResultList();​
  • s = 이름없는 회원

 

 

4.  NULLIF 


  • 두 값이 같으면 null 반환, 다르면 첫번째 값 반환
  • 사용자 이름이 '관리자'면  null 반환 나머지는 본인 이름 반환.
  • select NULLIF(m.username, '관리자') from Member m
  •  member.setUsername("관리자");
     String query = "select nullif(m.username, '관리자') from Member m ";
  • s = null

 

5. GitHub : 210816 조건식-CASE


 

GitHub - bsh6463/JPQL_STUDY

Contribute to bsh6463/JPQL_STUDY development by creating an account on GitHub.

github.com

 

'인프런 > [인프런] 자바ORM 표준 JPA 프로그래밍' 카테고리의 다른 글

경로 표현식  (0) 2021.08.16
JPQL 기본 함수  (0) 2021.08.16
JPQL 타입 표현  (0) 2021.08.16
서브쿼리  (0) 2021.08.16
JPQL JOIN  (0) 2021.08.16
Comments