๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋งฅ๋ฝ์์ ๋ด๋ถ ์กฐ์ธ์ ์ง์ ๋ ๊ณตํต ์์ฑ ๋๋ ์กฐ๊ฑด์ ๊ธฐ๋ฐ์ผ๋ก ๋ ์ด์์ ํ ์ด๋ธ์ ํ์ ๊ฒฐํฉํ๋ ํ์์ ์ด๊ณ ๋๋ฆฌ ์ฌ์ฉ๋๋ ์์ ์ ๋๋ค. ์ด๋ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ๋ก ์์ ํ ๋ ๊ธฐ๋ณธ ๊ธฐ๋ฅ์ผ๋ก, ํ ์ด๋ธ ๊ฐ์ ๊ณตํต ๊ฐ์ ๊ณต์ ํ๋ ๋ ์ฝ๋๋ฅผ ๋ณํฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ณ ๊ตฌ์ฑํ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์ด์งํฉ๋๋ค. ์ด๋ ์๋ก ๋ค๋ฅธ ๋ฐ์ดํฐ ์ธํธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํ๋ ๋ฐ ๋์์ด ๋ ๋ฟ๋ง ์๋๋ผ ์ถ๋ ฅ์ด ํฌ๊ด์ ์ด๊ณ ์ค๋ณต๋์ง ์๋๋ก ๋ณด์ฅํฉ๋๋ค.
๋ด๋ถ ์กฐ์ธ์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ์๋ก ๋ค๋ฅธ ํ ์ด๋ธ ๊ฐ์ ์ฐ๊ฒฐ ์ง์ ๋๋ ํค๋ฅผ ์ค์ ํ๋ ๊ฒ์ ๋๋ค. ์ด๋ฌํ ํค๋ ์ผ์นํ๋ ๊ฐ์ด ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ๋ด์ ๊ณต์ ์์ฑ ๋๋ ์ด์ด๋ฏ๋ก ์ฌ์ฉ์๋ ์ฌ์ฉ ๊ฐ๋ฅํ ์์ค์์ ๋ณตํฉ ๋ฐ์ดํฐ์ธํธ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ํตํฉํ ์ ์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํฌ๊ด์ ์ด๊ณ ์ํธ ์ฐ๊ด๋ ๋ฐ์ดํฐ ์ธํธ์ ๋ํ ๋ฐ์ดํฐ ๋ถ์, ํตํฉ ๋ฐ ๋ณด๊ณ ์์ ์ ๋ ์ฝ๊ฒ ์ํํ ์ ์์ต๋๋ค. ๋ณต์กํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์๋ ์ฌ๋ฌ ๊ฐ์ ๋ด๋ถ ์กฐ์ธ์ ์ฌ์ฉํ์ฌ ์๋ง์ ํ ์ด๋ธ์ ์ฐ๊ฒฐํ์ฌ ๋งค์ฐ ์ ๋ฌธ์ ์ด๊ณ ์์ธํ ์ถ๋ ฅ์ ์์ฑํ๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค.
Inner Join์ ๊ฐ์ ์ ์ง์ ๋ ์กฐ์ธ ์กฐ๊ฑด์ ๋ฐ๋ผ ๊ด๋ จ ๋ฐ์ดํฐ๋ง ์ถ์ถํ๋ ๊ธฐ๋ฅ์ ์์ต๋๋ค. ์กฐ๊ฑด์ ์ถฉ์กฑํ๋ ํ๋ง ๋ฐํํ๋ฏ๋ก ๋ณธ์ง์ ์ผ๋ก ๊ด๋ จ์ด ์๊ฑฐ๋ ๋ถํ์ํ ๋ฐ์ดํฐ๋ฅผ ํํฐ๋งํ์ฌ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ์ต์ ํํ๊ณ ์ถ๋ ฅ ์ ํ์ฑ์ ๋ณด์ฅํฉ๋๋ค. ์ด๋ฌํ ํจ์จ์ฑ์ ํนํ ์๋ฐฑ๋ง ๊ฐ์ ๋ ์ฝ๋๊ฐ ํฌํจ๋ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์ ๊ด๋ฆฌํ ๋ ์ค์ํ ์์์ ๋๋ค.
๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ์ ์ํ ๊ฐ๋ ฅํ no-code ํ๋ซํผ์ธ AppMaster ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ Inner Join ์์ ์ ์ค์์ฑ์ ์ธ์ํฉ๋๋ค. AppMaster ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๊ฐ ์๊ฐ์ ์ผ๋ก ๋ฐ์ดํฐ ๋ชจ๋ธ(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง)์ ์์ฑํ๊ณ , ์๊ฐ์ BP Designer๋ฅผ ์ฌ์ฉํ์ฌ ๋น์ฆ๋์ค ๋ก์ง์ ์ค๊ณํ๊ณ , REST API ๋ฐ WSS ์๋ํฌ์ธํธ๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ์ด ํ๋ซํผ์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์์ค๋ก์ ๋ชจ๋ PostgreSQL ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ํํ ํตํฉ์ ์ด์งํ์ฌ ๋ด๋ถ ์กฐ์ธ ์์ ๋ฐ ๊ธฐํ ๋ณต์กํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ์ ๋ํ ๊ฐ๋ ฅํ ์ง์์ ์ ๊ณตํฉ๋๋ค.
Inner Join์ ํจ์จ์ฑ์ ์ค๋ช ํ๊ธฐ ์ํด ๊ณ ๊ฐ ์ ๋ณด์ ์ฃผ๋ฌธ ์ธ๋ถ ์ ๋ณด๋ฅผ ์ ์ฅํ๋ ๋ณ๋์ ํ ์ด๋ธ์ด ์๋ ์ ์ ์๊ฑฐ๋ ํ๋ซํผ์ ์๋ฅผ ์๊ฐํด ๋ณด์ญ์์ค. ๋ ํ ์ด๋ธ์๋ ๊ณตํต ์์ฑ์ผ๋ก 'customer_id'๊ฐ ์์ต๋๋ค. Inner Join์ ์ฌ์ฉํ๋ฉด ๋ ํ ์ด๋ธ์ 'customer_id' ์์ฑ์ ์ผ์น์์ผ ๊ณ ๊ฐ ๋ฐ์ดํฐ์ ํฌ๊ด์ ์ธ ๋ฐ์ดํฐ์ธํธ์ ๊ฐ ์ฃผ๋ฌธ ์ธ๋ถ์ ๋ณด๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ๋ ๊ฐ ํญ๋ชฉ์ ํน์ ๊ณ ๊ฐ์ ์ ๋ณด์ ๊ณ ๊ฐ์ด ์ฃผ๋ฌธํ ์ธ๋ถ ์ ๋ณด๊ฐ ํฌํจ๋ ์ถ๋ ฅ ํ ์ด๋ธ์ด ๋ฉ๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ๋ด๋ถ ์กฐ์ธ์ ๋ค์๊ณผ ๊ฐ์ SQL(๊ตฌ์กฐ์ ์ฟผ๋ฆฌ ์ธ์ด) ๋ฌธ์ ์ฌ์ฉํ์ฌ ์คํํ ์ ์์ต๋๋ค.
SELECT * FROM customers INNER JOIN orders ON customers.customer_id = orders.customer_id;
์ด SQL ๋ฌธ์ `customers` ํ ์ด๋ธ๊ณผ `orders` ํ ์ด๋ธ์ `customer_id`๊ฐ ์ผ์นํ๋ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ๊ด๋ จ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํ๊ณ ์ด๋ฅผ ๋จ์ผ ๋ณตํฉ ๋ฐ์ดํฐ์ธํธ๋ก ํ์ํฉ๋๋ค. ๋ด๋ถ ์กฐ์ธ ์์ ์ ๋ฐ์ดํฐ ๊ฒ์ ๋ฐ ํตํฉ ์์ ์ ํฌ๊ฒ ๋จ์ํํ๋ฏ๋ก ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์ ์์ด์๋ ์ ๋ ๋๊ตฌ์ ๋๋ค.
๋ ํฌ๊ณ ๋ณต์กํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์์ ํ ๋๋ ๋จ์ผ SQL ์ฟผ๋ฆฌ์์ ์ฌ๋ฌ ๋ด๋ถ ์กฐ์ธ์ ์ฌ์ฉํ์ฌ ํฌ๊ด์ ์ธ ์ถ๋ ฅ์ ์ป๋ ๊ฒ์ด ์ผ๋ฐ์ ์ ๋๋ค. ์ด๋ฌํ ๊ฒฝ์ฐ ์ฟผ๋ฆฌ์๋ ์ฌ๋ฌ ์ผ์น ์กฐ๊ฑด์ ๊ธฐ๋ฐ์ผ๋ก 3๊ฐ ์ด์์ ํ ์ด๋ธ์ ์กฐ์ธํ๋ ์์ ์ด ํฌํจ๋ ์ ์์ผ๋ฉฐ, ์ด๋ก ์ธํด ์ฐ๊ฒฐ ์๊ฐ ์ฆ๊ฐํ๊ณ ๋ฐ์ดํฐ ์๊ด ๊ด๊ณ ์์ค์ด ๋์์ง๋๋ค. ์ต์ ์ ์กฐ์ธ ์์ ์์๋ฅผ ์ ์คํ๊ฒ ๊ฒฐ์ ํ๋ ๋ฑ ์กฐ์ธ ํจํด์ ํจ์จ์ ์ผ๋ก ๊ณํํ๋ ๊ฒ์ ์ด๋ฌํ ๋ณต์กํ ์๋๋ฆฌ์ค์์ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ์ ์งํ๋ ๋ฐ ๋งค์ฐ ์ค์ํ ์ ์์ต๋๋ค.
๋ํ ์ธ๋ฑ์ฑ ๋ฐ ์ฟผ๋ฆฌ ๊ณํ ๋ถ์๊ณผ ๊ฐ์ ์ฑ๋ฅ ์ต์ ํ ๊ธฐ์ ์ ๋๊ท๋ชจ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์คํ ์์ ํจ์จ์ ์ธ Inner Join ์์ ์ ๋ณด์ฅํ๋ ๋ฐ ์ค์ํ ์ญํ ์ ํ ์ ์์ต๋๋ค. Go(Golang)์์ ์์ฑ๋ ์๋ฒ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ์ฉํ๋ AppMaster ๋ณต์กํ ๋ด๋ถ ์กฐ์ธ ์ฟผ๋ฆฌ ๋ฐ ๊ธฐํ ๋ฐ์ดํฐ ์์ ์ ๊ตฌํํ๊ธฐ ์ํ ํ์ฅ ๊ฐ๋ฅํ๋ฉฐ ์ฑ๋ฅ ์ต์ ํ๋ ๊ณ ๊ธ ์ํคํ ์ฒ๋ฅผ ์ด์งํฉ๋๋ค. ์ด๋ฅผ ํตํด AppMaster ์ฌ์ฉ์๋ ๋ด๋ถ ์กฐ์ธ์ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ์ฌ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ง์ ํ ์ ์ฌ๋ ฅ์ ํ์ฉํ์ฌ ์ํฐํ๋ผ์ด์ฆ ์์ค์ ๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, ๋ด๋ถ ์กฐ์ธ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ญ์์ ์์ด์๋ ์ ๋ ๊ธฐ๋ฅ์ผ๋ก, ๊ณตํต ์์ฑ์ด๋ ์กฐ๊ฑด์ ๊ธฐ๋ฐ์ผ๋ก ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ ์ฝ๋๋ฅผ ๊ฒฐํฉํ๋ ํจ๊ณผ์ ์ธ ์๋จ์ ์ ๊ณตํฉ๋๋ค. ์ค๋ณต์ฑ์ ์ต์ํํ๋ฉด์ ๊ด๋ จ ๋ฐ์ดํฐ๋ง ์ถ์ถํ๋ ๊ธฐ๋ฅ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์, ๊ฐ๋ฐ์ ๋ฐ ๋ถ์๊ฐ ๋ชจ๋์๊ฒ ํ์์ ์ธ ๋๊ตฌ์ ๋๋ค. ๊ฐ๋ ฅํ Inner Join ๊ธฐ๋ฅ์ ํตํฉํจ์ผ๋ก์จ AppMaster ์ฌ์ฉ์๊ฐ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ๊ด๋ จ ์์ ์ ํจ๊ณผ์ ์ผ๋ก ํ์ฉํ๋ ์ ๊ตํ ๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๋ฐ ํ์ํ ํฌ๊ด์ ์ธ ๋๊ตฌ ๋ฐ ๊ธฐ๋ฅ ์ธํธ์ ์ก์ธ์คํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค.