본문 바로가기

Developer/DataBase

Case구문 간단 정리

반응형

■ Case

조건 목록을 평가하고 가능한 여러 결과 식 중 하나를 반환합니다.

CASE 식에는 두 가지 형식이 있습니다.

  • 단순 CASE 식은 특정 식을 일련의 단순 식과 비교하여 결과를 결정합니다.
  • 검색된 CASE 식은 일련의 부울 식을 평가하여 결과를 결정합니다.

두 가지 형식 모두 선택 사항인 ELSE 인수를 지원합니다.

CASE는 유효한 식이 허용되는 모든 문 및 절에 사용할 수 있습니다. 예를 들어 SELECT, UPDATE, DELETE 및 SET과 같은 문과 select_list, IN, WHERE, ORDER BY 및 HAVING과 같은 절에 CASE를 사용할 수 있습니다.

 

여기서 간단한 팁은 Where 절과 Having 절에 Case를 사용할 수 있다는 것이다.

 

ex>

--Having 절 Case 사용

 

USE AdventureWorks;
GO
SELECT Title, MAX(ph1.Rate)AS MaximumRate
FROM HumanResources.Employee AS e
JOIN HumanResources.EmployeePayHistory AS ph1 ON e.EmployeeID = ph1.EmployeeID
GROUP BY Title
HAVING (MAX(CASE WHEN Gender = 'M'
        THEN ph1.Rate
        ELSE NULL END) > 40.00
     OR MAX(CASE WHEN Gender  = 'F'
        THEN ph1.Rate 
        ELSE NULL END) > 42.00)
ORDER BY MaximumRate DESC;

By 김정중

반응형

'Developer > DataBase' 카테고리의 다른 글

[MS-SQL]프로시저, 테이블명 검색  (0) 2022.12.12
MS-SQL 날짜 형태 변환함수 정리  (0) 2019.12.11
MS-SQL 날짜함수 형식 변환  (0) 2019.12.06
SQL Admin Tip  (0) 2009.12.06
select top 10 Procedure  (0) 2009.12.06