[SQL] join: ๊ต์ฐจ ์กฐ์ธ
cross join, ์ดํ ๊ต์ฐจ ์กฐ์ธ์ ํ
์ด๋ธ์ ์ผ์ข
์ ํ๋ ฌ๊ณฑ์ ์ํํ๋ ๊ตฌ๋ฌธ์ด๋ค.
from์ ๋ถ๋ ํ
์ด๋ธ์ A, join์ ๋ถ๋ ํ
์ด๋ธ์ B๋ผ๊ณ ํ๋ค๋ฉด,
๊ต์ฐจ ์กฐ์ธ์ A์ ๋ชจ๋ ํ์ B์ ๋ชจ๋ ํ์ ํ๋ฒ์ฉ ๋ค ๊ณฑํ๋ค.
๊ทธ๋์ ๊ต์ฐจ ์กฐ์ธ์ ๊ฒฐ๊ณผ ํ์, A์ B์ ํ์ ๊ณฑํ ๊ฐ์๊ฐ ๋๋ค.
ํ
์คํธ ํ๊ฒฝ์ postgreSQL์ด๋ค.
๊ทธ๋ฆฌ๊ณ ํ
์ด๋ธ A, B์ ๊ตฌ์กฐ์ ๋ด์ฉ๋ฌผ์ ์๋์ ๊ฐ๋ค.
A๋ ์ด๋ฆ, ์ง์ ์ปฌ๋ผ์ ๊ฐ์ง๋ Worker๋ผ๋ ํ ์ด๋ธ์ด๋ค.


B๋ ์ด๋ฆ, ์ข ๊ต์ ๋ํ ์ ๋ณด๋ฅผ ๊ฐ์ง๋ ์ข ๊ต์ธ ํ ์ด๋ธ์ด๋ค.


๊ทธ๋ฆฌ๊ณ ๊ต์ฐจ ์กฐ์ธ ๊ตฌ๋ฌธ์ ์๋์ ๊ฐ์ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค.
select ... from A** cross join**** B**
๋ค๋ฅธ join๋ค๊ณผ ๋ค๋ฅด๊ฒ ๋ฐ๋ก ์กฐ๊ฑด์์ ํ์ํ์ง ์๋ค.
์ ํ
์ด๋ธ๋ค์ ๊ต์ฐจ ์กฐ์ธ์ ๋ ๋ฆฌ๋ฉด, ๊ฐ๊ฐ์ ํ์ด 7, 8 ์ด๋ฏ๋ก 7x8=56ํ์ ๊ฒฐ๊ณผ๋ฌผ์ด ๋์จ๋ค.
์ด๋ ๊ฒ ๋ง์ด๋ค.

๊ธธ๊ธฐ๋ ํ๋ค.
์ธ์ผ์ด ๋ง์ง๋ ์์ ๊ฒ์ด๋ค.