데이터베이스/오라클
-
[데이터베이스 기본]이너 조인(INNER JOIN) 아우터 조인(OUTER JOIN)데이터베이스/오라클 2020. 3. 6. 00:11
목표 이너 조인과 아우터 조인의 구분 이너 조인과 아우터 조인의 사용 목적 이해 오늘 날짜로 IT학원을 수료하고 면접을 다녀왔다. 면접에서 출제한 문제는 너무도 기본적인 문제였지만 나는 그 문제에 틀린 답을 제출하였다. 속상하다.... 그래서 오늘은 내가 실수했던 이너조인(INNER JOIN)과 아우터 조인(OUTER JOIN)에 대해서 다뤄보려고 한다. 우선 이너조인과 아우터 조인을 알아보기 위해 간단한 예를 들어 이야기해보자. A와 B테이블이 있다고 가정한다. A테이블은 a라는 컬럼을 가지고 있으며 4개의 열에 1,2,3,4의 데이터가 있다. B테이블은 b라는 컬럼을 가지고 있으며 4개의 열에 3,4,5,6의 데이터가 있다. 이너 조인(INNER JOIN) 이너조인은 INNER를 꼭 명시하지 않아도 ..
-
데이터베이스 계층형쿼리(LEVEL)데이터베이스/오라클 2020. 3. 2. 12:08
LEVEL 커뉴미케이션학과 광고홍보학과 언론 미디어학과 / 커뮤니케이션 학과 계층형 쿼리 구현하기 SELECT empno, ename, mgr FROM emp; SELECT empno, ename, mgr 상사번호, LPAD(ename, LEVEL*4, '*'), LEVEL FROM emp CONNECT BY PRIOR empno = mgr START WITH ename='KING'; 원하지 않는 계층 생략하기 SELECT empno, ename, mgr 상사번호, LPAD(ename, LEVEL*4, '*'), LEVEL FROM emp CONNECT BY PRIOR empno = mgr AND ename 'CLARK' START WITH ename='KING'; 원하지 않는 개체 생략하기 SELECT..
-
롤업데이터베이스/오라클 2020. 2. 27. 12:22
롤업을 사용하면 그룹집계를 다양하게 사용할 수 있다. SELECT DEPTNO, ENAME, SAL FROM EMP where deptno = 10 union all SELECT null,null,sum(sal) FROM EMP where deptno = 10 union all SELECT DEPTNO, ENAME, SAL FROM EMP where deptno = 20 union all SELECT null,null,sum(sal) FROM EMP where deptno = 20 union all SELECT DEPTNO, ENAME, SAL FROM EMP where deptno = 30 union all SELECT null,null,sum(sal) FROM EMP where deptno = 30 ..
-
데이터베이스 피벗 사용해보기데이터베이스/오라클 2020. 2. 26. 12:25
피벗 PIVOT 란? 피벗은 행을 열로 변환할 때 사용하는 기법을 말한다. (테이블의 회전) select deptno,job, sal from emp where deptno = 30 order by deptno; 출력하고싶은 데이터 deptno CLERK SALESMAN MANAGER 30 950 4600 2850 부서별, 직업별 월급의 합을 출력하고 싶을 때 select deptno, job, sum(sal) from emp group by deptno, job order by deptno, job; 피벗해서 데이터를 달라고 한다면? select deptno, sum(decode(job, 'CLERK', sal,0)) CLERK, sum(decode(job, 'MANAGER', sal,0)) MANAG..
-
그룹별로 데이터 출력하기(groupby, PARTITION BY)데이터베이스/오라클 2020. 2. 25. 11:52
SELECT DEPTNO, SAL FROM emp; SELECT DEPTNO, SUM(SAL) FROM emp GROUP BY DEPTNO; SELECT deptno, sal, ROWNUM from( SELECT DEPTNO,sal FROM emp ORDER BY deptno, sal DESC) WHERE DEPTNO = 10 UNION ALL SELECT deptno, sal, ROWNUM from( SELECT DEPTNO,sal FROM emp ORDER BY deptno, sal DESC) WHERE deptno = 20 UNION ALL SELECT deptno, sal, ROWNUM from( SELECT DEPTNO,sal FROM emp ORDER BY deptno, sal DESC) WH..
-
데이터베이스 실행 순서데이터베이스/오라클 2020. 2. 24. 14:50
데이터베이스 실행 과정 Client -> 쿼리 sql 리스너 1) sql 파서 2) sql 전처리 ... ... ... 3) sql 실행계획(옵티마이저) 1) ... 2) ... 3) ... 4) ... 옵티마이저가 제대로 실행되지 않는 경우 ex ) 코로나 확진자가 분포되어 있는 상황 코로나 확진자의 지역에 대한 인덱싱 필요 1) 부산 2) 서울 3) 부산 4) ... 5) ... 부산의 데이터를 가져오고 싶을 때 인덱싱이 안되어있으면 전체 데이터를 확인해야 함 데이터가 10개 이하라면? 데이터의 군집화 (클러스터링) 데이터의 군집화가 잘 되어있다면 자료를 찾기가 편하다. 군집화가 안되어있다면 인덱싱된 데이터를 찾는 방법을 사용한다. -> 데이터 최초 설계의 중요성 (데이터 베이스가 좋은 실행계획을 짤..