[Oracle] OVER ... PARTITION BY ๋ถ์์ ๋ถ์ํจ์ ANALYTIC FUNCTION :: ๋ง์ด์๋ชฝ
์ฌ์ ์ ๋ณด๋ฅผ ์
๋ ฅํ๋๋ฐ, ์ ์ฒด ๊ธ์ฌ ํ๊ท ๊ฐ๊ณผ ํจ๊ป ์ถ๋ ฅํ์์ค. ORACLE SCOTT ๊ณ์ EMP ํ
์ด๋ธ๋ก ์ถ๋ ฅ๋ ๊ฒฐ๊ณผ์
๋๋ค. ์ ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์ด๋ป๊ฒ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํ์ค๊ฑด๊ฐ์? 1 2 3 4 5 6 7 8 SELECT DEPTNO ,EMPNO ,ENAME ,JOB ,SAL ,ROUND((SELECT AVG(SAL) FROM EMP)) AS AVG FROM EMP; SUBQUERY๋ฅผ ์ด์ฉํ ์๋ ์์ง๋ง... ANALYTIC FUNCTION ๋ถ์ํจ์๋ฅผ ์ฌ์ฉํด์ ์ข ๋ ํธํ ๋ฐฉ๋ฒ์ผ๋ก ํด๊ฒฐํ ์ ์์ต๋๋ค. 1 2 3 4 5 6 7 8 SELECT DEPTNO ,EMPNO ,ENAME ,JOB ,SAL ,ROUND(AVG(SAL) OVER()) AS AVG FROM EMP; ๋ถ์ํจ์ OVER ์ ์ ์ฌ์ฉํด์ ๋ฌธ์ ..
2020. 3. 28.
[Oracle] ์ค๋ผํด GROUP BY ROLLUP, CUBE, GROUPING SETS ์ ๋ฆฌ :: ๋ง์ด์๋ชฝ
GROUP BY ํน์ ์นผ๋ผ๋ค์ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃนํํ์ฌ ํฉ์ฐ, ํ๊ท , ์ต๊ณ ๊ฐ, ์ต์๊ฐ ๋ฑ์ ์์น๋ฅผ ํ์ธํ๊ธฐ ์ํด GROUP BY ์ ์ ์ด์ฉํฉ๋๋ค. ๋ถ์๋ณ ์ฐ๋ด ํ๊ท , ๋ฐ ์ํ ์ต๊ณ ์ ์, ๋งค์ฅ๋ณ ์ฌ๊ณ ๋๊ณผ ๊ฐ์ด ํ๋์ ๊ธฐ์ค์ผ๋ก ๊ทธ๋ฃน์ ์ํฌ๋๋ ํ๊ฐ์ง ๊ฒฐ๊ณผ๋ง ํ์ธํ๋ฉด ๋ฉ๋๋ค. ํ์ง๋ง ๋ ๊ฐ์ง ์ด์์ ๊ธฐ์ค์ผ๋ก GROUP BY ์์ผฐ์๋๋ ํํ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ํ์ธํ๊ณ ์ถ๋ค๋ ์๊ฐ์ด ๋ค๊ฒ์
๋๋ค. ๋ถ์๋ณ ํ๋ณ ์ฐ๋ด ํ๊ท , ๋ฐ๋ณ ๊ณผ๋ชฉ๋ณ ์ํ ์ต๊ณ ์ง์, ๋งค์ฅ๋ณ ์นดํ
๊ณ ๋ฆฌ๋ณ ์ฌ๊ณ ๋์ฒ๋ผ 2๊ฐ์ ๊ธฐ์ค์ด ์์๋๋ ๊ฐ๋ก ์ธ๋ก ๊ฐ๊ฐ ๊ธฐ์ค์ผ๋ก ํํํ๋ก ์ถ๋ ฅ๋๋ ๋ฐ์ดํฐ๊ฐ ์ฒ์ ๋ ์ฌ๋์ ๊ฒ์
๋๋ค. ์๋ฅผ ๋ค์ด ๋ถ์๋ณ ์ง์
๋ณ ์ฐ๋ด ํฉ์ฐ๊ธ์ก์ ์๊ณ ์ถ๋ค๋ฉด ๊ฐ๋ก์ ๋ถ์, ์ธ๋ก์ ์ง์
์ ๋์ ํํํ์ ๊ฐ๊ฐ ๊ทธ๋ฃน๋ณ๋ก ๋ฐ๋ก๋ฐ๋ก ๊ทธ๋ฆฌ๊ณ ์ ์ฒด ํฉ์ฐ๋ ์๋์ผ..
2020. 3. 18.