๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋งฅ๋ฝ์—์„œ ์ƒ๊ด€ ํ•˜์œ„ ์ฟผ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ํฌํ•จ๋œ ์ฟผ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜๋Š” ์ค‘์ฒฉ ํ•˜์œ„ ์ฟผ๋ฆฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋‹จ์ผ ๋˜๋Š” ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์—์„œ ๋” ๋ณต์žกํ•˜๊ณ  ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ณ ๊ธ‰ ์ฟผ๋ฆฌ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ๊ด€๋ จ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜๊ณ  ๋ณด๋‹ค ์˜๋ฏธ ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•˜๋Š” ๋ณด๋‹ค ํšจ์œจ์ ์ด๊ณ  ๊ตฌ์กฐํ™”๋œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ƒ๊ด€ ํ•˜์œ„ ์ฟผ๋ฆฌ๋Š” ํŠนํžˆ ํŠน์ • ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์—์„œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ ์กฐ์ž‘ ๋ฐ ๊ฒ€์ƒ‰์— ์‚ฌ์šฉ๋˜๋Š” ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

๋…๋ฆฝ์ ์ด๊ณ  ๋…๋ฆฝ์ ์ธ ๊ธฐ์กด ํ•˜์œ„ ์ฟผ๋ฆฌ์™€ ๋‹ฌ๋ฆฌ ์ƒ๊ด€ ํ•˜์œ„ ์ฟผ๋ฆฌ๋Š” ์™ธ๋ถ€ ์ฟผ๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜๋ฏ€๋กœ ์„ฑ๊ณต์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋ ค๋ฉด ์™ธ๋ถ€ ์ฟผ๋ฆฌ ๊ฐ’์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ์™ธ๋ถ€ ์ฟผ๋ฆฌ์˜ ๊ฐ ํ–‰์— ๋Œ€ํ•œ ๋ฐ˜๋ณต ์‹คํ–‰์ด ๋ฐœ์ƒํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ์กด์žฌํ•˜๋Š” ๊ด€๊ณ„ ๋ฐ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฒฐ๊ณผ๊ฐ€ ํ–ฅ์ƒ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๊ฐœ๋ฐœ์ž๋Š” ์ •๊ตํ•œ ๋ฐ์ดํ„ฐ ์ง‘๊ณ„ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๋‹ฌ์„ฑํ•˜๊ณ  ์ด์ „์— ๋ฐœ๊ฒฌ๋˜์ง€ ์•Š์•˜๋˜ ๋ฐ์ดํ„ฐ ๋‚ด ํŒจํ„ด์ด๋‚˜ ์ƒ๊ด€ ๊ด€๊ณ„๋ฅผ ์ฐพ์•„๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒ๊ด€ ํ•˜์œ„ ์ฟผ๋ฆฌ์˜ ์˜ˆ๋กœ๋Š” ํ•ด๋‹น ๋ถ€์„œ ์ง์›์˜ ํ‰๊ท  ๊ธ‰์—ฌ๋ณด๋‹ค ๊ธ‰์—ฌ๊ฐ€ ๋งŽ์€ ๋ชจ๋“  ์ง์›์˜ ์„ธ๋ถ€ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ƒ๊ด€ ์„œ๋ธŒ ์ฟผ๋ฆฌ๋Š” ์™ธ๋ถ€ ์ฟผ๋ฆฌ์˜ ๋ถ€์„œ ๊ฐ’์„ ์ฐธ์กฐํ•˜์—ฌ ๊ฐ ๋ถ€์„œ์˜ ํ‰๊ท  ๊ธ‰์—ฌ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ๋ถ€๋ถ„์ด ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์œ ํ˜•์˜ ํ•˜์œ„ ์ฟผ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ ์ถ”์ถœ ๋ฐ ์กฐ์ž‘ ์ž‘์—…์˜ ์šฉ์ด์„ฑ๊ณผ ๋ช…ํ™•์„ฑ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.

๋‹ค์Œ์€ ๊ฐœ๋…์„ ์„ค๋ช…ํ•˜๋Š” ์ƒ˜ํ”Œ SQL ์ฝ”๋“œ ์กฐ๊ฐ์ž…๋‹ˆ๋‹ค.

e1.*์„ ์„ ํƒํ•˜์„ธ์š”.
์ง์›์œผ๋กœ๋ถ€ํ„ฐ e1
e1.๊ธ‰์—ฌ > (
  AVG(e2.๊ธ‰์—ฌ) ์„ ํƒ
  ์ง์›์œผ๋กœ๋ถ€ํ„ฐ e2
  ์—ฌ๊ธฐ์„œ e1.department_id = e2.department_id);

์œ„์˜ ์˜ˆ์—์„œ ๋‚ด๋ถ€ ์ฟผ๋ฆฌ๋Š” ์™ธ๋ถ€ ์ฟผ๋ฆฌ์—์„œ ์ง€์ •๋œ ๋ถ€์„œ์˜ ํ‰๊ท  ๊ธ‰์—ฌ๋ฅผ ๊ณ„์‚ฐํ•œ ๋‹ค์Œ ํ•ด๋‹น ํ‰๊ท ๋ณด๋‹ค ๊ธ‰์—ฌ๊ฐ€ ๋†’์€ ์ง์›์„ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ์ƒ๊ด€ ํ•˜์œ„ ์ฟผ๋ฆฌ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์™ธ๋ถ€ ์ฟผ๋ฆฌ ๊ฐ’(์ด ๊ฒฝ์šฐ Department_id)์— ๋Œ€ํ•œ ์ข…์†์„ฑ์„ ํ†ตํ•ด ๋‚ด๋ถ€ ์ฟผ๋ฆฌ์™€ ์™ธ๋ถ€ ์ฟผ๋ฆฌ๋ฅผ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์ƒ๊ด€ ํ•˜์œ„ ์ฟผ๋ฆฌ์—๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ ์ด๋Ÿฌํ•œ ํ•˜์œ„ ์ฟผ๋ฆฌ๋Š” ๋ฐ˜๋ณต ํŠน์„ฑ์œผ๋กœ ์ธํ•ด ๊ณ„์‚ฐ ๋น„์šฉ์ด ๋งŽ์ด ๋“ค ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋Š” ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ฑ๋Šฅ ๋ณ‘๋ชฉ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์ƒ๊ด€ ํ•˜์œ„ ์ฟผ๋ฆฌ๋ฅผ ์‹ ์ค‘ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์œผ๋ฉฐ ์ฟผ๋ฆฌ ์‹คํ–‰์„ ์œ„ํ•œ ์‹ ์ค‘ํ•œ ์ตœ์ ํ™” ์ „๋žต์„ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

AppMasterno-code ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์›น, ๋ชจ๋ฐ”์ผ ๋ฐ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๊ฐœ๋ฐœ์ž๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ์ƒ๊ด€๋œ ํ•˜์œ„ ์ฟผ๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ์ƒ๋‹นํ•œ ์ด์ ์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster ์˜ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ ์„ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ์‹œ๊ฐ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ(๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ)์„ ์ƒ์„ฑํ•˜๊ณ , ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, REST API ๋ฐ WSS endpoints ์„ค๊ณ„ํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ”Œ๋žซํผ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์„ ๋” ๋น ๋ฅด๊ณ  ํšจ์œจ์ ์ด๋ฉฐ ๋น„์šฉ ํšจ์œจ์ ์œผ๋กœ ๋งŒ๋“ค์–ด ์ค‘์†Œ๊ธฐ์—…๋ถ€ํ„ฐ ๋Œ€๊ธฐ์—…๊นŒ์ง€ ๋‹ค์–‘ํ•œ ๊ณ ๊ฐ์—๊ฒŒ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

AppMaster ํ”Œ๋žซํผ์˜ ๊ณ ๊ฐ์€ ์ƒ๊ด€ ํ•˜์œ„ ์ฟผ๋ฆฌ ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜์—ฌ ๋น„์ฆˆ๋‹ˆ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ •ํ™•ํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ์ถฉ์กฑํ•˜๋Š” ๋”์šฑ ๊ฐ•๋ ฅํ•˜๊ณ  ํฌ๊ด„์ ์ธ ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ์†”๋ฃจ์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ณ ๊ธ‰ ์ฟผ๋ฆฌ ๋ฐฉ๋ฒ•์€ ๊ธฐ์—… ํ™•์žฅ์„ฑ์ด๋“  ๊ณ ๋ถ€ํ•˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์ด๋“  ๊ธฐ์ˆ  ๋ถ€์ฑ„๋ฅผ ์ค„์ด๊ณ  ์ตœ์ ์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์„ ๋ณด์žฅํ•˜๋ ค๋Š” AppMaster ์˜ ๋…ธ๋ ฅ๊ณผ ์ผ์น˜ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ ์ƒ๊ด€ ํ•˜์œ„ ์ฟผ๋ฆฌ๋Š” ์ฒ ์ €ํ•œ ๋ฐ์ดํ„ฐ ๋ถ„์„์„ ์œ„ํ•ด ๋ณต์žกํ•˜๊ณ  ๊ด€๋ จ๋œ ๋ฐ์ดํ„ฐ ์„ธํŠธ๋ฅผ ์ถ”์ถœํ•˜๊ธฐ ์œ„ํ•œ ๊ฐœ๋ฐœ์ž์˜ ๋ฌด๊ธฐ๊ณ ์— ์—†์–ด์„œ๋Š” ์•ˆ๋  ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ค์–‘ํ•œ ํ…Œ์ด๋ธ”๊ณผ ์ค‘์ฒฉ ๊ด€๊ณ„์—์„œ ๊ฐ•๋ ฅํ•˜๊ณ  ๋ณต์žกํ•œ ๋ฐ์ดํ„ฐ ์ถ”์ถœ ํŒจํ„ด์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์—ฌ ํ‘œ์ค€ ํ•˜์œ„ ์ฟผ๋ฆฌ์˜ ๊ธฐ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค. ์ƒ๊ด€๋œ ํ•˜์œ„ ์ฟผ๋ฆฌ๋ฅผ ์ดํ•ดํ•˜๊ณ  ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ AppMasterno-code ํ”Œ๋žซํผ์˜ ๊ฐœ๋ฐœ์ž๋Š” ๋†€๋ผ์šด ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ์กฐ์ž‘ ํšจ์œจ์„ฑ์„ ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฒฐ๊ณผ์ ์œผ๋กœ ์‚ฌ์šฉ์ž์˜ ๋Š์ž„์—†์ด ๋ณ€ํ™”ํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ถฉ์กฑํ•˜๋Š” ๋ณด๋‹ค ์‘๋‹ต์„ฑ์ด ๋›ฐ์–ด๋‚˜๊ณ  ๊ฐ•๋ ฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.