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() ๋ชจ๋“  ๊ทธ๋ฃน ๊ฐ’์„ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
์ง‘๊ณ„ ํ•จ์ˆ˜์˜ ์ „์ฒด ๋ชฉ๋ก์€ ์•„๋‹ˆ์ง€๋งŒ ๋‚˜๋จธ์ง€๋Š” ๋งค์šฐ ๊ตฌ์ฒด์ ์ด๋ฉฐ ํ–ฅํ›„ 5๋…„ ๋™์•ˆ ์‚ฌ์šฉํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์—ฌ์ „ํžˆ ํ•„์š”ํ•œ ๊ฒฝ์šฐ DBMS์— ๋Œ€ํ•œ ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ํ•ญ์ƒ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ์ง‘๊ณ„ ํ•จ์ˆ˜๊ฐ€ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

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์ด์ง€๋งŒ ๊ฐ๋…์ž…๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ํ‰๊ท  ๊ธ‰์—ฌ๊ฐ€ ๋„ˆ๋ฌด ๋†’๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋–ป๊ฒŒ๋“  ๋น„์šฉ์„ ์ตœ์ ํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๊ณ ์–‘์ด๋ฅผ ๊ณ ์šฉํ•ฉ์‹œ๋‹ค.