7์ . GROUP BY, HAVING ์
์ง๊ณ ํจ์(๋ค์ค ํ ํจ์)
- ์ฌ๋ฌ ํ๋ค์ ๊ทธ๋ฃน์ด ๋ชจ์ฌ์ ๊ทธ๋ฃน๋น ๋จ ํ๋์ ๊ฒฐ๊ณผ๋ฅผ ๋๋ ค์ฃผ๋ ํจ์์ด๋ค.
- SELECT, HAVING, ORDER BY ์ ์ ์ฌ์ฉ๊ฐ๋ฅ
- ํ ์ด๋ธ ์ ์ฒด ์ง๊ณ๋ฅผ ์ํด GROUP BY ์ ์์ด๋ ์ง๊ณํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
- ์ง๊ณํจ์์ค MAX,MIN,COUNT๋ ๋ฌธ์,๋ ์ง ์ ํ์๋ ์ ์ฉ์ด ๊ฐ๋ฅํ๋ค.
COUNT(*) - NULL ๊ฐ์ ํฌํจํ ํ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
COUNT(ํํ์) - ํํ์์ ๊ฐ์ด NULL ๊ฐ์ธ ๊ฒ์ ์ ์ธํ ํ์ ์๋ฅผ ์ถ๋ ฅํ๋ค.
SUM(ํํ์) - NULL๊ฐ์ ์ ์ธํ ํฉ๊ณ๋ฅผ ์ถ๋ ฅํ๋ค.
AVG(ํํ์) - NULL๊ฐ์ ์ ์ธํ ํ๊ท ์ ์ถ๋ ฅํ๋ค.
MAX(ํํ์) - ์ต๋๊ฐ ์ถ๋ ฅ
MIN(ํํ์) - ์ต์๊ฐ ์ถ๋ ฅ
STDDEV(ํํ์) - ํ์คํธ์ฐจ๋ฅผ ์ถ๋ ฅ
VARIAN(ํํ์) - ๋ถ์ฐ ์ถ๋ ฅ
GROUP BY ์
- GROUP BY ์ ์ FROM์ WHERE ์ ๋ค์ ์ค๋ฉฐ GRUOP BY ์ ์ ํ๋ค์ ์๊ทธ๋ฃนํ ํ๋ค.
- GROUP BY ์ ์ ํตํด ์๊ทธ๋ฃน๋ณ ๊ธฐ์ฃผ์ ์ ํ ํ, SELECT ์ ์ ์ง๊ณํจ์ ์ฌ์ฉํ๋ค.
- GROUP BY ์ ์์๋ SELECT์ ๊ณผ๋ ๋ฌ๋ฆฌ ALIAS๋ช ์ ์ฌ์ฉํ ์ X
- GROUP BY ์ดํ ์๊ทธ๋ฃนํ๊ฐ ์งํ๋ ์ํฉ์์ ์ํ์ ์ธ SELECT ๋ ORDER BY์ ์์ ๊ฐ๋ณ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
- ์์๋ SELECT - FROM - WHERE - GROUP BY - HAVING - ORDER BY
- ์ง๊ณํจ์์ ํต๊ณ์ ๋ณด๋ NULL๊ฐ์ ๊ฐ์ง ํ์ ์ ์ธํ๊ณ ์ํํ๋ค.
- ์ง๊ณํจ์๋ WHERE ์ ์๋ ์ฌ ์ ์๋ค.
- ์์)
์์ ์์์ ๊ฐ์ด GROUP BY ์ ์์ ๊ทธ๋ฃน ๋จ์๋ฅผ ํ์ํด ์ฃผ์ด์ผ SELECT ์ ์์ ๊ทธ๋ฃน ๋จ์์ ์นผ๋ผ๊ณผ ์ง๊ณ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์๋ค.
+) ์ค์ฒฉ๋ ๊ทธ๋ฃนํจ์์ ๊ฒฝ์ฐ GROUP BY์ ์ ๊ธฐ์ ํ ์นผ๋ผ์ ์ถ๋ ฅํ ์ ์๋ค.
EX) AVG(COUNT(*))๊ฐ SELECT์ ์ ์กด์ฌํ๋ ๊ฒฝ์ฐ ๊ฒฐ๊ณผ๊ฐ์ 1ํ์ด ๋๋๋ฐ ์ด๋ GROUP BY์ ์ ๊ธฐ์ ํ ์ปฌ๋ผ๋ ํจ๊ป ์ถ๋ ฅํ ์ ์๋ฌ ๋ฐ์
HAVING ์
- HAVING ์ ์ WHERE์ ๊ณผ ๋น์ทํ์ง๋ง GROUP BY์ ์ ์ํด ๋ง๋ค์ด์ง ์๊ทธ๋ฃน์ ๋ํ ์กฐ๊ฑด์ด ์ ์ฉ๋๋ค๋ ์ ์์ ์ฐจ์ด๊ฐ ์๋ค.
- HAVING ์ ์ ์ง๊ณํจ์ ๋๋ ๊ทธ๋ฃนํ๋ ์ปฌ๋ผ์ ๋ํด์ ์ฌ์ฉํ๋ค.
- ํ ์ด๋ธ ์ ์ฒด๋ฅผ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ณด๋๊ฒฝ์ฐ GROUP BY ์์ด ๋จ๋ ์ผ๋ก ์ฐ์ผ ์๋ ์๋ค.
- ์์)
์ง๊ณํจ์์ NULL ์ฒ๋ฆฌ
- ์ง์๋ค ๊ธ์ฌ์ ์ดํฉ์ ๊ตฌํ๊ณ ์ถ์ ๋ ์ดํฉ์ด NULL์ธ ๊ฒฝ์ฐ์๋?
SUM(NVL(SAL,0))๋ณด๋ค๋ NVL(SUM(NVL),0) ์ฌ์ฉํ์. ์ด์ฐจํผ NULL์ธ ํ์ ๋ค์ค ํ ํจ์์ ๋์์์ ์ ์ธํ๋ฏ๋ก.
'SQLD' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 2์ฅ - 1์ ํ์ค ์กฐ์ธ (0) | 2021.05.24 |
---|---|
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 1์ฅ - 8์ /9์ ORDER BY, JOIN (0) | 2021.05.21 |
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 1์ฅ - 5์ /6์ WHERE์ , FUNCTION (0) | 2021.05.21 |
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 1์ฅ - 4์ TCL (0) | 2021.05.21 |
๊ณผ๋ชฉII SQL ๊ธฐ๋ณธ ๋ฐ ํ์ฉ 1์ฅ - 3์ DML (0) | 2021.05.21 |