본문 바로가기
내가 보려고 정리한 DB

[데이터베이스] JOIN - 1

by nacastle 2020. 5. 13.

과제1

 

코드 답안

 

SELECT S.SYSTEM14_ID,
       S.SYSTEM14_NAME,
       MAX(DECODE(R.RESOURCE14_NAME,'FTP','사용','미사용')) AS FTP,
       MAX(DECODE(R.RESOURCE14_NAME,'TELNET','사용','미사용')) AS TELNET,
       MAX(DECODE(R.RESOURCE14_NAME,'EMAIL','사용','미사용')) AS EMAIL
FROM SYSTEM14 S LEFT JOIN RESOURCE14_USAGE R   --1
ON S.SYSTEM14_ID = R.SYSTEM14_ID --1
GROUP BY S.SYSTEM14_ID, S.SYSTEM14_NAME  --2
ORDER BY S.SYSTEM14_ID;

 

 

 

 

 

과제2

과제2

코드 답안

 

SELECT DEPTNO AS "부서번호",

          ENAME   AS "이름",

          JOB        AS "직업",

          SAL        AS "급여",

          (SELECT COUNT(DISTINCT E1.SAL)    FROM EMP E1 WHERE E1.DEPTNO = E.DEPTNO AND E1.SAL>=E.SAL) AS "급여순위"

FROM EMP E

ORDER BY DEPTNO, 급여순위;

 

 

 

과제3

과제3

SELECT DEPTNO, ENAME, JOB, SAL,
RANK() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC)
FROM EMP;

 

SELECT DEPTNO, ENAME, JOB, SAL,
DENSE_RANK() OVER (PARTITION BY DEPTNO ORDER BY SAL DESC)
FROM EMP;

 

 

 

 

과제4

과제4

코드답안

SELECT DEPTNO,

          ENAME,

          SAL,

          TO_CHAR(ROUND(E1.SAL*100/SAL_SUM,2),'99.99')||'%' AS SAL_RATE

FROM EMP E1,

         (SELECT SUM(E.SAL) AS SAL_SUM FROM EMP E); => 카티션 프로덕트니까 FROM에 테이블 2개 설정

 

 

 

 

과제 0 (참고)

- OLTP (ONLINE TRANSACTION PROCESSING)

정의: 여러 이용자가 실시간으로 DB의 데이터를 갱신하거나 조회하는 등의 작업을 처리하는 방식

(주로 금융 전산 관련 부문에서 많이 발생)

 

특징: 다수의 이용자가 동시에 이용할 수 있도록 송수신 자료를 트랜잭션 단위로 압축

 

건 바이 건



- OLAP (ONLINE ANALYTIC PROCESSING)

정의: 사용자가 다양한 각도에서 직접 대화식으로 정보를 분석하는 과정

(데이터 웨어하우스의 데이터를 전략적인 정보로 변환시키는 역할)

특징: 기본적인 접근, 조회, 계산, 시계열, 복잡한 모델링 가능

 

- OLAP 와 OLTP 의 차이점 

OLTP :  현재 업무의 효율적인 처리에만 관심이 있음

OLAP : 의사결정에 도움되는 데이터 분석에 관심이 있음

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형