1. ๋ค์คํ ํจ์
- ๊ทธ๋ฃน ํจ์ ๋๋ ๋ณต์ํ ํจ์๋ผ๊ณ ๋ ๋ถ๋ฆฐ๋ค
- ์ฌ๋ฌ ํ์ ๋ฐํ์ผ๋ก ํ๋์ ๊ฒฐ๊ณผ ๊ฐ์ ๋์ถํด ๋ด๊ธฐ ์ํด ์ฌ์ฉํ๋ ํจ์
- ํ๋์ ํ์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ์ถ๋ ฅ๋๊ธฐ ๋๋ฌธ์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ฌ๋ฌ ํ์ด ๊ฒฐ๊ณผ๋ก ๋์ฌ ์ ์๋ ์นผ๋ผ์ ํจ๊ป ์ฌ์ฉํ ์ ์๋ค
2. ์ง์ ๋ ๋ฐ์ดํฐ์ ํฉ์ ๋ฐํํ๋ SUM ํจ์
- NULL ๋ฐ์ดํฐ๋ ์ ์ธํ๊ณ ํฉ๊ณ๋ฅผ ๊ตฌํด ๋ฐํ
- DISTINCT : ์ค๋ณต๋๋ ๋ฐ์ดํฐ๋ ์ ์ธ / ALL : ์ค๋ณต๋๋ ๋ฐ์ดํฐ ์ ๊ฑฐ ์์ด | ์ฐธ๊ณ
SUM([DISTINCT or ALL (์ ํ)] [ํฉ๊ณ๋ฅผ ๊ตฌํ ์นผ๋ผ์ด๋ ์ฐ์ฐ์ / ํจ์๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ])
-- 1.
SELECT SUM(COMM)
FROM EMP;
-- 2. 3. 4. DISTINCT, ALL ์ฌ์ฉ
SELECT SUM(DISTINCT SAL),
SUM(ALL SAL),
SUM(SAL)
FROM EMP;
(1) COMM ์นผ๋ผ์ ๋ชจ๋ ํ์ ํฉ๊ณ๋ฅผ ๊ตฌํด ๋ฐํ
(2) SUM(DISTINCT SAL) : SAL ์นผ๋ผ์ ๋ชจ๋ ํ ์ค ์ค๋ณต๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ๋ค ํฉ๊ณ๋ฅผ ๋ฐํ
(3) SUM(ALL SAL) : SAL ์นผ๋ผ์ ๋ชจ๋ ํ์ ํฉ๊ณ๋ฅผ ๊ตฌํด ๋ฐํ
(4) SUM(SAL) : SAL ์นผ๋ผ์ ๋ชจ๋ ํ์ ํฉ๊ณ๋ฅผ ๊ตฌํด ๋ฐํ. =SUM(ALL SAL)
3. ๋ฐ์ดํฐ ๊ฐ์๋ฅผ ๊ตฌํด ์ฃผ๋ COUNT ํจ์
- ๊ฒฐ๊ณผ ํ์ ๊ฐ์๋ฅผ ๋ฐํ
- COUNT(*)๋ SELECT๋ฌธ์ ๊ฒฐ๊ณผ ๊ฐ์ผ๋ก ๋์จ ํ ๋ฐ์ดํฐ์ ๊ฐ์๋ฅผ ๋ฐํํด ์ค
- ๋ฐ์ดํฐ ๊ฐ์ด NULL ์ธ ๊ฒฝ์ฐ ๋ฐํ ๊ฐ์์์ ์ ์ธ๋จ(= NULL์ด ์๋ ํ์ ์๋ง ์นด์ดํธ)
- DISTINCT : ์ค๋ณต๋๋ ๋ฐ์ดํฐ๋ ์ ์ธ / ALL : ์ค๋ณต๋๋ ๋ฐ์ดํฐ ์ ๊ฑฐ ์์ด | ์ฐธ๊ณ
COUNT([DISTINCT or ALL (์ ํ)] [๋ฐ์ดํฐ ๊ฐ์๋ฅผ ๊ตฌํ ์นผ๋ผ์ด๋ ์ฐ์ฐ์ / ํจ์๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ])
-- 1.
SELECT COUNT(*)
FROM EMP;
-- 2.
SELECT COUNT(*)
FROM EMP
WHERE DEPTNO = 30;
-- 3. 4. 5. DISTINCT, ALL ์ฌ์ฉ
SELECT COUNT(DISTINCT SAL),
COUNT(ALL SAL),
COUNT(SAL)
FROM EMP;
(1) EMP ํ ์ด๋ธ์ ๋ชจ๋ ํ์ ์(= ๋ชจ๋ ์ฌ์์ ์)๋ฅผ ๊ตฌํด ๋ฐํ
(2) DEPTNO๊ฐ 30์ธ ๋ชจ๋ ํ์ ์๋ฅผ ๊ตฌํด ๋ฐํ
(3) COUNT(DISTINCT SAL) : SAL ์นผ๋ผ์ ๋ชจ๋ ํ ์ค ์ค๋ณต๋๋ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํ ํ์ ์๋ฅผ ๋ฐํ
(4) COUNT(ALL SAL) : SAL ์นผ๋ผ์ ๋ชจ๋ ํ์ ์๋ฅผ ๋ฐํ
(5) COUNT(SAL) : SAL ์นผ๋ผ์ ๋ชจ๋ ํ์ ์๋ฅผ ๋ฐํ. =COUNT(ALL SAL)
4. ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๊ตฌํ๋ MAX, MIN ํจ์
- ์ ๋ ฅ ๋ฐ์ดํฐ ์ค ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๋ฐํ
- ๋ ์ง ๋ฐ ๋ฌธ์ ๋ฐ์ดํฐ ์ญ์ ํฌ๊ธฐ ๋น๊ต๊ฐ ๊ฐ๋ฅ. ๋ ์ง๋ ์ต๊ทผ ๋ ์ง์ผ์๋ก ์ต๋๊ฐ
- DISTINCT / ALL : ์ง์ ์ด ๊ฐ๋ฅํ์ง๋ง ์ค๋ณต ์ ๊ฑฐ์ ๋ฌด๊ดํ๊ฒ ๊ฐ์ ๊ฒฐ๊ณผ ๊ฐ์ด ๋ฐํ๋๊ธฐ ๋๋ฌธ์ ์ค์ ๋ก๋ ์ฌ์ฉํ์ง ์์ | ์ฐธ๊ณ
MAX([DISTINCT or ALL (์ ํ)] [์ต๋๊ฐ์ ๊ตฌํ ์นผ๋ผ์ด๋ ์ฐ์ฐ์ / ํจ์๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ])
MIN([DISTINCT or ALL (์ ํ)] [์ต์๊ฐ์ ๊ตฌํ ์นผ๋ผ์ด๋ ์ฐ์ฐ์ / ํจ์๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ])
-- 1.
SELECT MAX(SAL), MIN(SAL)
FROM EMP
WHERE DEPTNO = 10;
-- 2.
SELECT MAX(HIREDATE), MIN(HIREDATE)
FROM EMP
WHERE DEPTNO = 10;
(1) DEPTNO๊ฐ 10์ธ ์ง์์ SAL ์นผ๋ผ ์ค ์ต๋๊ฐ๊ณผ ์ต์๊ฐ ์ถ๋ ฅ
(2) DEPTNO๊ฐ 10์ธ ์ง์์ HIREDATE ์นผ๋ผ ์ค ์ต๋๊ฐ(๊ฐ์ฅ ์ต๊ทผ)๊ณผ ์ต์๊ฐ(๊ฐ์ฅ ๊ณผ๊ฑฐ) ์ถ๋ ฅ
5. ํ๊ท ๊ฐ์ ๊ตฌํ๋ AVG ํจ์
- ์ ๋ ฅ ๋ฐ์ดํฐ์ ํ๊ท ์ ๊ตฌํด ๋ฐํ
- ์ซ์ ๋๋ ์ซ์๋ก ์์์ ํ ๋ณํ์ด ๊ฐ๋ฅํ ๋ฐ์ดํฐ๋ง ์ฌ์ฉ ๊ฐ๋ฅ
- DISTINCT : ์ค๋ณต๋๋ ๋ฐ์ดํฐ๋ ์ ์ธ / ALL : ์ค๋ณต๋๋ ๋ฐ์ดํฐ ์ ๊ฑฐ ์์ด | ์ฐธ๊ณ
AVG([DISTINCT or ALL (์ ํ)] [ํ๊ท ๊ฐ์ ๊ตฌํ ์นผ๋ผ์ด๋ ์ฐ์ฐ์ / ํจ์๋ฅผ ์ฌ์ฉํ ๋ฐ์ดํฐ])
-- 1.
SELECT AVG(SAL)
FROM EMP
WHERE DEPTNO = 30;
-- 2.
SELECT AVG(DISTINCT SAL)
FROM EMP
WHERE DEPTNO = 30;
(1) DEPTNO๊ฐ 30์ธ ์ง์์ SAL ์นผ๋ผ์ ํ๊ท ์ ๋ฐํ
(2) DEPTNO๊ฐ 30์ธ ์ง์์ SAL ์นผ๋ผ์ ์ค๋ณต๊ฐ์ ์ ๊ฑฐํ ํ์ ํ๊ท ์ ๋ฐํ