코딩알파
DB/Mysql 조건문 CASE 문 본문
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 |