Kosta 클라우드 네이티브 애플리케이션 개발 (CNA) 교육 6일차
2024. 11. 22. 17:42ㆍKosta 클라우드 네이티브 어플리케이션 개발(CNA) 교육
CASE WHEN THEN
CASE
WHEN (조건절) THEN '값'
[ELSE] '값2'
END
예제
- 1
select comm,
case
when comm is null then 0
else comm
end as comms
from emp;
--- select comm, decode(comm, null, 0, comm)as comms from emp;
- 2
select ename, deptno, decode(deptno,10,'십',
decode(deptno,20,'이십',
decode(deptno, 30, '삼십') ) ) as deptnoStr
from emp order by deptno asc;
select ename, deptno, decode(deptno, 10,'십' ,20,'이십' ,30, '삼십' ) as deptnoStr
from emp order by deptno asc;
함수
- RANK : 순서를 매기는 함수(중복 가능)
- dense_rank : 순서를 매기는 함수(중복X)
select sal, rank() over (order by sal desc) as rk from emp; ------------------------------ select sal, dense_rank() over (order by sal desc) as rk from emp; ------------------------------ --아에 겹치는 숫자 없이 select sal, ROW_NUMBER() over (order by sal desc) as rk from emp;
- ROWNUM : 테이블 입력 순서 번호가 출력되는 함수
select rownum, sal, ename from emp order by sal desc;
- 그룹별 순서
select deptno, sal,
rank() over (PARTITION by deptno order by deptno asc, sal desc) as rk
from emp;
- 합집합
insert into A values(1,'A'); insert into A values(2,'A');
insert into A values(3,'A'); insert into B values(3,'B');
insert into B values(4,'B'); insert into B values(5,'B');
(select num from a) union (select num from b);
--- -> 1,2,3,4,5 (select num from a) union all (select num from b);
--- -> 1,2,3,3,4,5
- 교집합
(select num from a) intersect (select num from b); --- -> 3
- 뺄셈
(select num from a) minus (select num from b); --- -> 1,2
- 페이징
select ss.* from (select rownum as rnum, s.*
from (select rownum as init_rum, ename, hiredate
from emp order by hiredate desc) s ) ss
where ss.rnum between 6 and 10;
------------------ select s.*
from (select ename, hiredate,
ROW_NUMBER() over (order by hiredate desc) as rk from emp) s
where rk between 6 and 10;
------- 같은 쿼리
'Kosta 클라우드 네이티브 어플리케이션 개발(CNA) 교육' 카테고리의 다른 글
Kosta 클라우드 네이티브 애플리케이션 개발 (CNA) 교육 7일차 (0) | 2024.11.25 |
---|---|
Oracle 예제 문제 (0) | 2024.11.24 |
Kosta 클라우드 네이티브 애플리케이션 개발 (CNA) 교육 5일차 (0) | 2024.11.21 |
Kosta 클라우드 네이티브 애플리케이션 개발 (CNA) 교육 4일차 (1) | 2024.11.20 |
Kosta 클라우드 네이티브 애플리케이션 개발 (CNA) 교육 3일차 (1) | 2024.11.19 |