250x250
Recent Posts
Notice
Today
Total
«   2025/06   »
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
Archives
관리 메뉴

코딩알파

DB/Mysql 조건문 CASE 문 본문

Database

DB/Mysql 조건문 CASE 문

코딩알파 2021. 9. 5. 16:48
728x90

테이블.txt
0.00MB

Mysql case문은  switch 문과 비슷하게 생겼습니다.

 

문법

SELECT 컬럼1,
CASE  컬럼1
         WHEN 조건
         THEN  '반환값'
         ELSE ' WHEN 조건에 해당 안되는 경우 반환값'       
END AS 컬럼이름정하기
FROM 테이블명;

 

  • WHEN과 THEN은 항상 같이 써줘야한다.
  • WHEN ,THEN은 다수로 쓸수있다.
  • ELSE가 있으면 모든 조건에 해당하지 않으면 반환한다.
  • ELSE가 없으면 조건에 맞지 않아서 반환값이 없으면 NULL을 반환한다.

예제) 부서번호가 10이면 ACCOUNTING, 20이면 RESEARCH, 30이면 SALES 나머지는 OPERATIONS를 출력하라.

 

select deptno,
case deptno when 10 then'ACCOUNTING'
when 20 then 'RESEARCH'
when 30 then 'SALES'
else 'OPREATIONS' 
end as 변경된이름
from emp;

예제) 부서별로 출력하는 내용이 다르다 즉 10부서는 급여합계를, 20부서는 최대값을, 30부서는 최소값을 출력하라

select deptno,
case deptno when 10 then sum(sal)
when 20 then max(sal)
when 30 then min(sal)
end as 
from emp
group by deptno;

 

예제) MANAGER는 급여의 1.1%, SALESMAN은 1.05%, ANALYST는 0%, 나머지는 1.03% 인상율 적용 후 급여를 출력하라.

select job,
case job when 'MANAGER' then (sal*1.1)
when 'SALESMAN' then (sal*1.05)
when 'ANALYST' then sal
else (sal*1.03)
end as 인상값
from emp;

728x90

'Database' 카테고리의 다른 글

DB/Mysql 서브쿼리(subquery)  (0) 2021.09.03
DB/Mysql JOIN문 + 문제  (0) 2021.09.02
DB/Mysql SELECT WHERE절  (0) 2021.08.31
DB/mysql 테이블 SELECT ,UPDATE,DELETE문 공부  (0) 2021.08.29
DB/mysql SELECT 연습문제 연습하기  (0) 2021.08.29
Comments