SQL Server / 제어문 / CASE

CASE 함수는 데이터의 값에 따라 특정 값을 부여할 때 사용한다. CASE로 시작하여 END로 끝나고, 조건은 WHEN, 부여할 값은 THEN으로 정의한다.

예를 들어 다음과 같은 점수 데이터가 있다고 하자.

20점 이하는 E, 20점 초과 40점 이하는 D, 40점 초과 60점 이하는 C, 60점 초과 80점 이하는 B, 80점 초과 100점 이하는 A를 주고 싶다면 다음과 같이 쿼리한다.

select 
  point,
  case
    when point <= 20 then 'E'
    when point <= 40 then 'D'
    when point <= 60 then 'C'
    when point <= 80 then 'B'
    when point <= 100 then 'A'
  end as grade
from
  tb_01
;

주의할 점은 한 번 조건에 해당하면 그 다음 조건은 보지 않는 다는 것이다. 즉, 10점은 20점 이하이므로 E가 부여된 후, 40점 이하 조건에도 부합하지만 D가 되지 않는다. 따라서 순서가 중요하다. 만약 아래처럼 한다면 모두 A가 된다.

select 
  point,
  case
    when point <= 100 then 'A'
    when point <= 80 then 'B'
    when point <= 60 then 'C'
    when point <= 40 then 'D'
    when point <= 20 then 'E'
  end as grade
from
  tb_01
;

순서를 신경쓰는 게 싫다면 아래처럼 쿼리할 수도 있다.

select 
  point,
  case
    when ( point > 81 and point <= 100 ) then 'A'
    when ( point > 61 and point <= 80 ) then 'B'
    when ( point > 41 and point <= 60 ) then 'C'
    when ( point > 21 and point <= 40 ) then 'D'
    when ( point >= 0 and point <= 20 ) then 'E'
  end as grade
from
  tb_01
;

같은 카테고리의 다른 글
SQL Server / 외부 접속 허용하는 방법

SQL Server / 외부 접속 허용하는 방법

SQL Server는 보통 Windows Server에 설치하게 되는데, 외부에서 접속하기 위해서는 SQL Server가 사용하는 1433 포트를 열어줘야 한다. 설정은 에서 한다. SQL Server의 기본 포트는 1433이다. 가능하다면 보안을 위해 다른 포트로 변경하는 것이 좋다. 별도의 방화벽에서 포트 포워딩을 할 수도 있고, 기본 포트를 변경할 수도 있다. 에서 ...

SQL Server 2022 / SQL Server 사용자 인증 가능하게 하는 방법

SQL Server 2022 / SQL Server 사용자 인증 가능하게 하는 방법

SQL Server를 설치할 때 별도의 설정을 하지 않았다면, Windows 인증만 가능하다. 만약 SQL Server의 인증도 필요하게 되었다면 설정 변경을 해야 한다. 아래는 SSMS를 이용하여 서버 인증 방식을 변경하는 방법이다. SSMS에서 개체를 선택하고 마우스 우클릭한다. 을 클릭한다. 왼쪽에서 을 선택한다. 오른쪽에 있는 를 선택한다. 을 클릭한다. 이 변경은 SQL Server ...

SQL Server / Query / 메모

최근 날짜 가져오기 Name으로 그룹화한 후 최근 날짜를 가져온다. SELECT Name, MAX( Date ) FROM Table1 GROUP BY Name 최근 날짜가 2020년인 것만 가져온다. SELECT Name, MAX( Date ) FROM Table1 GROUP BY Name HAVING MAX( Date ) BETWEEN '2020-01-01' AND '2020-12-31' 모든 데이터베이스 출력하기 EXECUTE sp_helpdb;

SQL Server / 버전 확인하는 두 가지 방법

SQL Server / 버전 확인하는 두 가지 방법

SQL Server 버전 확인하는 방법 1 SQL Server Configuration Manager를 연다. 왼쪽에서 를 선택한다. 오른쪽에서 을 클릭한다. 탭에서 버전을 확인할 수 있다. SQL Server 버전 확인하는 방법 2 SSMS에서 다음 쿼리를 실행한다. select @@version;

SQL Server / SSMS / 테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함 설정 변경하는 방법

SQL Server / SSMS / 테이블을 다시 만들어야 하는 변경 내용 저장 사용 안 함 설정 변경하는 방법

SSMS로 테이블 작업을 할 때 다음과 같은 메시지와 함께 저장이 되지 않는 경우가 있다. 변경 내용을 저장할 수 없습니다. 변경 내용을 적용하려면 다음 테이블을 삭제하고 다시 만들어야 합니다. 다시 만들 수 없는 테이블을 변경했거나 옵션을 설정했습니다. 테이블 열의 순서를 변경하는 등 특정 ...

SQL Server / Query / ROLLUP

SQL Server / Query / ROLLUP

부분합 등을 구하고 싶다면 ROLLUP을 사용한다. 기본 다음과 같은 sales 테이블이 있다고 하자. team은 소속, man은 직원, sales는 판매액이다. select * from sales ; 다음과 같이 하면 직원별 소계, 팀별 소계, 전체 합계가 출력된다. select id, team, man, sum( sales ) as sales from sales group by rollup ( team, man, id ) ; 다음과 같이 ...

SQL Server / 포트 변경하는 방법

SQL Server / 포트 변경하는 방법

SQL Server의 기본 포트는 1433이다. 보안을 비롯하여 여러 가지 이유로 포트를 변경해야 할 경우가 있다. SQL Server의 포트를 1433에서 다른 것으로 변경하는 방법은 다음과 같다. 를 연다. 에서 인스턴스를 선택한다. 을 클릭한다. 의 TCP 포트를 원하는 것으로 변경한다. 또는 ...

SQL Server / 보안 / 사용자 계정 만들고 권한 추가하는 방법

SQL Server / 보안 / 사용자 계정 만들고 권한 추가하는 방법

SQL Server의 사용자 계정은 Windows 인증을 이용한 사용자 계정, SQL Server 자체의 사용자 계정이 있습니다. 그 중 SQL Server 자체의 사용자 계정을 만들고, 권한을 부여하는 방법을 알아보겠습니다. SSMS로 SQL Server에 접속합니다. 을 선택합니다.(확장하면 전체 사용자 목록을 볼 수 있습니다.) 마우스 우클릭하고 을 클릭합니다. 사용자를 추가하는 창이 뜹니다. 을 선택하고... 로그인 ...

SQL Server 2022 / 설치

SQL Server 2022 / 설치

SQL Server 설치 DVD 또는 ISO 파일 안에 있는 setup 파일을 더블 클릭하여 실행한다. 왼쪽에서 를 클릭한다. 무료 버전을 선택하거나 제품 키를 입력 후 을 클릭한다. 약관에 동의하고 을 클릭한다. 체크 안 해도 되지만, 권장사항이므로 인터넷에 연결되어 있다면 [Microsoft 업데이트를 통해 업데이트 ...

SQL Server / SSMS / 쿼리 만들고 실행하는 방법

SQL Server / SSMS / 쿼리 만들고 실행하는 방법

쿼리(Query)를 이용하여 필요한 데이터를 추출하거나 여러 가지 작업을 할 수 있다. SSMS에서 쿼리를 만들고 실행하는 과정은 다음과 같다. SQLServer에 접속하고 데이터베이스 선택 데이터베이스 서버에 접속하고 를 클릭한다. 드롭다운 목록에서 쿼리를 할 데이터베이스를 선택한다. 쿼리 작성하고 실행 쿼리를 입력하고 을 클릭한다. 단축키는 F5이다. SQL은 대소문자를 구분하지 않는다. 하단에 쿼리 결과가 나온다. 여러 개의 쿼리를 입력했다면 각각 결과가 나온다. 일부 쿼리 ...