6.1 ์ง๊ณ ํจ์ ๋ชฉ๋ก
์ฐ์ฐ์์ ํจ๊ป SQL์์ ํ ๊ทธ๋ฃนํ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ทธ๋ฃนํ๋ ๋ฐ์ดํฐ์์ ์๋ํ๋ ๋ฌธ์์ ํจ์๋ฅผ GROUP BY
์ฌ์ฉํ ์ ์์ต๋๋ค . SELECT
์ด๋ฌํ ํจ์๋ฅผ ์ง๊ณ ํจ์๋ผ๊ณ ๋ ํฉ๋๋ค.
๋ค์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ชฉ๋ก์ ๋๋ค.
# | ๊ธฐ๋ฅ | ์ค๋ช |
---|---|---|
1 | ์ธ๋ค() | ๊ทธ๋ฃน์ ๊ฐ ์๋ฅผ ๋ฐํํฉ๋๋ค. |
2 | ํฉ์งํฉ() | ๊ทธ๋ฃน์ ๊ฐ ํฉ๊ณ๋ฅผ ๋ฐํํฉ๋๋ค. |
์ผ | MAX() | ๊ทธ๋ฃน์ ์ต๋๊ฐ์ ๋ฐํํฉ๋๋ค. |
4 | ๋ถ() | ๊ทธ๋ฃน์ ์ต์๊ฐ์ ๋ฐํํฉ๋๋ค. |
5 | AVG() | ๊ทธ๋ฃน์ ํ๊ท ์ ๋ฐํํฉ๋๋ค. |
6 | BIT_AND() | ๋ชจ๋ ๊ทธ๋ฃน ๊ฐ์ ๋ํด ๋นํธ AND๋ฅผ ์ํํฉ๋๋ค. |
7 | BIT_OR() | ๋ชจ๋ ๊ทธ๋ฃน ๊ฐ์ ๋ํด ๋นํธ OR์ ์ํํฉ๋๋ค. |
8 | ๋นํธ_XOR() | ๋ชจ๋ ๊ทธ๋ฃน ๊ฐ์ ๋ํด ๋นํธ๋ณ XOR์ ์ํํฉ๋๋ค. |
9 | GROUP_CONCAT() | ๋ชจ๋ ๊ทธ๋ฃน ๊ฐ์ ํ๋์ ๋ฌธ์์ด๋ก ์ฐ๊ฒฐํฉ๋๋ค. |
์ด์ ์ง๊ณ ํจ์๊ฐ ์๋ ๋ช ๊ฐ์ง ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
6.2 ์ง์ ๊ธ์ฌ ๋ถ์
์ง์ ํ ์ด๋ธ ์์ ์ง์์ ๋ํ ํต๊ณ๋ฅผ ๊ณ์ฐํด ๋ณด๊ฒ ์ต๋๋ค .
์ง๋ฌธ 1: ์ง์์ด ๋ช ๋ช ์ ๋๊น?
ํ
์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋ ์๋ฅผ ์ฐพ์ผ๋ ค๋ฉด this ์ ๋ํ ์ง๊ณ ํจ์๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค COUNT
. ์์ฒญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
SELECT COUNT(*) FROM employee
๊ทธ๋ฆฌ๊ณ MySQL์ ์๋ต์ผ๋ก ์ซ์ 6์ ๋ฐํํฉ๋๋ค. ๋ถ์์๋ ๊ณ ์์ด๋ฅผ ํฌํจํ์ฌ 6๋ช ์ ์ง์์ด ์์ต๋๋ค. ๊ด์ฐฎ์.
์ง๋ฌธ 2: ๋ชจ๋ ์ง์์๊ฒ ํ ๋ฌ์ ์ผ๋ง๋ฅผ ์ง๋ถํฉ๋๊น?
์ด ์ง๋ฌธ์ ๋ตํ๋ ค๋ฉด ๋ชจ๋ ์ง์์ ๊ธ์ฌ๋ฅผ ํฉ์ฐํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด ์ง๊ณ ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค.SUM()
์์ฒญ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
SELECT SUM(salary) FROM employee
์ด๋ฒ์๋ ์์ฝํ ์ด์ ๊ฐ์ ์ง์ ํด์ผ ํฉ๋๋ค. ๊ธ์ฌ ์ด์ ์ง์ ํ์ต๋๋ค . ํ ์ด๋ธ์ ๋ชจ๋ ํ๋๋ฅผ ํฉ์ฐํ ์๋ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ MySQL์ ๋ต์ผ๋ก 461000์ด๋ผ๋ ์ซ์๋ฅผ ๋ฐํํ ๊ฒ์ ๋๋ค. ๋ถ์์ 6๋ช ์ ์ง์์ด ์๊ณ ๊ธ์ฌ๋ 461,000์ ๋๋ค. ๋๋ฌด ๋ง์.
๋ง์ง๋ง์ผ๋ก ์ธ ๋ฒ์งธ ์ง๋ฌธ์
๋๋ค. ๋ถ์์ ์ต๋ ๊ธ์ฌ์ ์ต์ ๊ธ์ฌ๋ ์ผ๋ง์
๋๊น? ์, ํ๊ท ๊ธ์ฌ๋ฅผ ๊ณ์ฐํด ๋ด
์๋ค. ์ด๋ฅผ ์ํด์๋ ํจ์๊ฐ ํ์ํฉ๋๋ค MIN
. , MAX
๋ฐ AVG
.
์ด๋ฒ์๋ ์ฟผ๋ฆฌ๊ฐ ์ข ๋ ๋ณต์กํด์ง๋ฉฐ ๋ค์๊ณผ ๊ฐ์ด ํ์๋ฉ๋๋ค.
SELECT MIN(salary), AVG(salary), MAX(salary)
FROM employee
์ด ์ฟผ๋ฆฌ์ ๊ฒฐ๊ณผ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฏผ(๊ธ์ฌ) | AVG(๊ธ์ฌ) | MAX(๊ธ์ฌ) |
---|---|---|
1000 | 76833.3333 | 200000 |
์ฐ๋ฆฌ ๋ถ์์ ์ต์ ์๊ธ์ $1,000์ ๋๋ค. ๋งค์ฐ ์ข์ต๋๋ค. ์ต๋ ๊ธ์ฌ๋ 200,000์ด์ง๋ง ๊ฐ๋ ์ ๋๋ค.
ํ์ง๋ง ํ๊ท ๊ธ์ฌ๊ฐ ๋๋ฌด ๋๊ธฐ ๋๋ฌธ์ ์ด๋ป๊ฒ๋ ๋น์ฉ์ ์ต์ ํํด์ผ ํฉ๋๋ค. ๋ค๋ฅธ ๊ณ ์์ด๋ฅผ ๊ณ ์ฉํฉ์๋ค.
GO TO FULL VERSION