SQL

SQL

CASE WHEN을 활용해 복잡한 조건을 간결하게 처리하라

페이지 정보

profile_image
영삼이
0건 64회 25-03-28 15:40

본문

CASE WHEN을 활용해 복잡한 조건을 간결하게 처리하라

조건에 따라 값을 변경할 때 유용한 방법


❌ 여러 조건을 OR로 처리하는 경우

SELECT name, 
  CASE 
    WHEN status = 'paid' THEN '완료'
    WHEN status = 'shipped' THEN '배송 중'
    WHEN status = 'pending' THEN '대기 중'
    ELSE '알 수 없음'
  END AS order_status
FROM orders;
  • 여러 조건을 CASE WHEN을 사용하면 훨씬 간결하고 직관적으로 처리 가능

  • OR과 같은 복잡한 조건문을 사용한 것보다 가독성이 좋음

  • 또한 CASE문은 조건별로 다양한 값을 반환할 수 있어서,
    여러 조건을 동시에 처리할 때 효과적이다.


CASE WHEN을 활용한 조건 처리

SELECT name, 
  CASE 
    WHEN status = 'paid' THEN '완료'
    WHEN status = 'shipped' THEN '배송 중'
    WHEN status = 'pending' THEN '대기 중'
    ELSE '알 수 없음'
  END AS order_status
FROM orders;
  • CASE문 안에 조건을 추가하면, 복잡한 로직을 하나의 쿼리로 처리할 수 있다.

  • **ORDER BY**나 **GROUP BY**와 함께 사용해도 효율적이다.


추가 팁

  • CASE WHEN을 활용하면 복잡한 데이터 변환이나 상태 변경을 SQL 내에서 효율적으로 처리할 수 있다.

  • 여러 조건을 다룰 때 ORAND의 조합보다 CASE문이 더 명확하고 유지보수가 용이하다.


✔️ CASE WHEN은 조건을 처리하는 강력한 도구로,
여러 조건을 분리하여 가독성 있게 처리할 수 있다.
복잡한 조건 로직이 필요할 때 CASE WHEN을 적극 활용하자.

댓글목록

등록된 댓글이 없습니다.