일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- C언어 표준 라이브러리
- JSP
- 접근제한자
- C#접근제한자
- DEFAULT
- Oracle SQL Developer
- Oracle
- o(log n)
- JavaSwing
- 자바연산자
- 데이터베이스
- C#접근제어자
- DB 제약조건
- DB
- Vo
- 자바
- 빅오표기법
- 오라클
- O(n)
- DATABASE
- java
- mvc디자인패턴
- 메이븐업데이트
- DTO
- oracle developer
- break
- oracle db
- java접근제어자
- DAO
- sql
성장일기 : 문과생의 개발 여정 (งᐖ)ว ( ᐛ )و
DECODE, CASE 본문
1027 수업내용
# DECODE
- 자바의 switch-case와 유사한 문법
- DECODE (column, case1, value1, case2, value... defalut vlaue)
SELECT
first_name,
department_id
FROM
employees; -- 현재 부서명은 알 수 없다
DECODE사용 ↓
SELECT
first_name,
DECODE (department_id,
10,'관리부',
20, '마케팅부',
30, '구매부',
40, '인사부',
60, 'IT',
department_id -- 맨 마지막은 defalut 위치
) AS department_name
FROM
employees; -- DECODE를 사용해 case1 이 나오면 value1로 변경되는 것이다.
/*
연습문제 : 직책에 다음과 같이 인상된 급여를 출력 (이름과 급여만 출력)
IT_PROG : 20%
SH_CLERK : 5%
ST_CLERK : 3%
그 외 : 변동 없음
*/
# CASE
- DECODE()는 switch-case처럼 정확하게 일치하는 경우만 매핑이 가능하다.
- CASE는 if문처럼 원하는 조건에 따라 원하는 동작을 할 수 있다.
작성법 :
CASE
WHEN 조건 THEN 출력값
WHEN 조건 2 THEN 출력값 2
...
ELSE 기본값
END
SELECT * FROM employees;
SELECT
first_name, job_id,
CASE
WHEN job_id = 'IT_PROG' THEN salary * 1.2
WHEN job_id LIKE '%_CLERK' THEN salary * 1.03
ELSE salary
END AS "increased_salary"
FROM
employees;
'백엔드개발 > DATABASE' 카테고리의 다른 글
DATABASE / 데이터베이스 / 정렬(ORDER BY - ) (0) | 2023.10.31 |
---|---|
그룹 함수 (sum, avg, count, max, min) & having (0) | 2023.10.31 |
데이터베이스 / DB 집합 / 교집합, 차집합, 합집합 (0) | 2023.10.31 |
DATABASE, DB 데이터베이스 WHERE 조건절 (BETWEEN A AND B, IN, MOD), LIKE (0) | 2023.10.31 |
DATABASE WHERE 조건절, 연산자 / 데이터베이스 / db (0) | 2023.10.31 |