[50~59]SUM OVER, RATIO_TO_REPORT, CUBE, ROW_NUMBER, ROWNUM, Simple TOP-n Queries, EQUI JOIN, NON EQUI JOIN
[50] 데이터 분석 함수로 누적 데이터 출력하기(SUM OVER) SELECT empno, ename, sal, SUM(SAL) OVER (ORDER BY empno ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) 누적치 FROM emp WHERE job in ('ANALYST', 'MANAGER'); --월급의 누적치를 출력 --OVER다음의 괄호 안에는 값을 누적할 윈도우를 지정할 수 있다. --ORDER BY empno를 통해 사원 번호를 오름차순으로 정렬을 하고 정렬된 것을 기준으로 월급의 누적치를 출력 --ROWS : 윈도우 기준 --윈도우 방식 : UNBOUNDED PRECEDING(맨 첫 번째 행을 가리킴), UNBOUNDED FOLLOWING(맨 ..
2022. 7. 20.
[40~49] COUNT, RAN, DENSE_RANK, NTILE, CUME_DIST, LISTAGG, LAG, LEAD, SUM+DECODE, PIVOT, UNPIVOT
[40] 건수 출력하기(COUNT) select count(empno) from emp; -- 전체 사원수 출력 --count함수는 건수를 세는 함수 select count(comm) from emp; --null값은 count하지 않는다. [41] 데이터 분석 함수로 순위 출력하기(1)_(RAN) --직업이 ANALYST, MANAGER 인 사원들의 이름, 직업, 월급, 월급의 순위를 출력 select job, sal, ename, RANK() over (order by sal desc) 순위 from emp where job in ('ANALYST', 'MANAGER'); --RANK()는 순위를 출력하는 데이터 분석 함수이다. --RANK() 뒤에 OVER 다음에 나오는 괄호 안에 출력하고 싶은 데..
2022. 7. 20.
[31~39] TO_DATE, 임시적 형변환, NVL, NVL2, DECODE, CASE, MAX, MIN, AVG, SUM
[31] 날짜형으로 데이터 유형 변환하기(TO_DATE) select ename, hiredate from emp where hiredate = TO_DATE('1981/11/17', 'YY/MM/DD'); select ename, hiredate from emp where hiredate = TO_DATE('81/11/17', 'RR/MM/DD'); -- 현재 접속한 세션의 날짜 형식을 확인하는 쿼리 SELECT * FROM NLS_SESSION_PARAMETERS WHERE parameter = 'NLS_DATE_FORMAT'; -- 세션에 맞게 날짜 검색 select ename, hiredate from emp where hiredate = TO_DATE('81/11/17', 'RR/MM/DD');..
2022. 7. 20.