MySQL์์ Join ์ฌ์ฉํ๊ธฐ
MySQL์์ Join์ ๋ ๊ฐ ์ด์์ ํ
์ด๋ธ์ ์ฐ๊ฒฐํ์ฌ ํ๋์ ๊ฒฐ๊ณผ ํ
์ด๋ธ์ ์์ฑํ๋ ๋ฐฉ๋ฒ์
๋๋ค. Join์ ์ฌ์ฉํ๋ฉด ํ
์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ดํดํ๊ณ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ฒ์ํ ์ ์์ต๋๋ค.
ย
๋ถ๋ชจํ ์ด๋ธ๊ณผ ์์ํ ์ด๋ธ
MySQL์์ Join์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋ถ๋ชจ ํ
์ด๋ธ๊ณผ ์์ ํ
์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ดํดํด์ผ ํฉ๋๋ค. ๋ถ๋ชจ ํ
์ด๋ธ์ ์์ ํ
์ด๋ธ๋ณด๋ค ๋จผ์ ์์ฑ๋๋ฉฐ, ์์ ํ
์ด๋ธ์ ๋ถ๋ชจ ํ
์ด๋ธ์ ์ฐธ์กฐํ๋ ์ธ๋ ํค๋ฅผ ํฌํจํด์ผ ํฉ๋๋ค. Join์ ์ฌ์ฉํ ๋๋ ์ด๋ฌํ ๊ด๊ณ๋ฅผ ์ด์ฉํ์ฌ ๋ ํ
์ด๋ธ์ ์ฐ๊ฒฐํฉ๋๋ค.
ย
ย
ย
Join ์ข ๋ฅ
Inner Join ( ๊ด๊ณ๊ฐ ์๋ ์ฌ์ฉ์ : inner )
Inner Join์ ๋ ํ
์ด๋ธ ๊ฐ์ ๊ณตํต ์ด์ ๊ธฐ๋ฐ์ผ๋ก ๋ ์ฝ๋๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. Inner Join์ ๊ธฐ๋ณธ์ ์ธ Join ์ ํ์ผ๋ก, ๋ ํ
์ด๋ธ์์ ๊ณตํต๋ ๊ฐ์ ๊ฐ์ง ํ๋ง ์ถ๋ ฅํฉ๋๋ค.
์์ ์ฝ๋:
ย
Left Join
Left Join์ ์ผ์ชฝ ํ
์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋์ ์ค๋ฅธ์ชฝ ํ
์ด๋ธ์์ ์ผ์นํ๋ ๋ ์ฝ๋๋ง ๋ฐํํฉ๋๋ค. ์ผ์นํ๋ ๋ ์ฝ๋๊ฐ ์์ผ๋ฉด NULL ๊ฐ์ ๋ฐํํฉ๋๋ค.
์์ ์ฝ๋:
ย
Right Join
Right Join์ ์ผ์ชฝ ํ
์ด๋ธ๊ณผ ์ค๋ฅธ์ชฝ ํ
์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ฉฐ, ์ค๋ฅธ์ชฝ ํ
์ด๋ธ์์ ์ผ์นํ๋ ๋ ์ฝ๋๊ฐ ์์ผ๋ฉด NULL ๊ฐ์ ๋ฐํํฉ๋๋ค.
์์ ์ฝ๋:
ย
Full Outer Join ( ๊ด๊ณ๊ฐ ์๋ ์ฌ์ฉ์ : outter )
Full Outer Join์ ์ผ์ชฝ ํ
์ด๋ธ๊ณผ ์ค๋ฅธ์ชฝ ํ
์ด๋ธ์ ๋ชจ๋ ๋ ์ฝ๋๋ฅผ ๋ฐํํ๋ฉฐ, ์ผ์นํ๋ ๋ ์ฝ๋๊ฐ ์์ผ๋ฉด NULL ๊ฐ์ ๋ฐํํฉ๋๋ค.
์์ ์ฝ๋:
ย
ย
Join ํ์ฉํ๊ธฐ
Join์ ๋ค์ํ ๋ฐฉ์์ผ๋ก ํ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ํ์ ์ ๋ณด์ ์ฑ์ ์ ๋ณด๊ฐ ๊ฐ๊ฐ ๋ค๋ฅธ ํ
์ด๋ธ์ ์ ์ฅ๋์ด ์๋ค๋ฉด, Join์ ์ฌ์ฉํ์ฌ ํ์ ์ด๋ฆ๊ณผ ์ฑ์ ์ ํจ๊ป ์ถ๋ ฅํ ์ ์์ต๋๋ค.
์์ ์ฝ๋:
์์ ์ฝ๋๋ ํ์ ์ด๋ฆ๊ณผ ์ฑ์ ์ ๋ณด๋ฅผ ์ถ๋ ฅํ๋ ์์์
๋๋ค. INNER JOIN์ ์ฌ์ฉํ์ฌ ๋ ํ
์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํ๊ณ , ํ์ ID๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ ์ฝ๋๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ํ์ ์ด๋ฆ๊ณผ ์ฑ์ ์ด ํจ๊ป ์ถ๋ ฅ๋ฉ๋๋ค.
ย
ย
์ ํ ์กฐ์ธ (SELF JOIN)
์
ํ ์กฐ์ธ์ ํ๋์ ํ
์ด๋ธ ๋ด์์ Join์ ์ํํ๋ ๊ฒ์
๋๋ค. ์ฆ, ํ๋์ ํ
์ด๋ธ์ ๋ ๊ฐ์ ๋ณ์นญ์ผ๋ก ๋๋์ด Join์ ์ํํฉ๋๋ค. ์ด๋ฅผ ์ฌ์ฉํ๋ฉด ํ๋์ ํ
์ด๋ธ์์๋ ์ฌ๋ฌ ๊ฐ์ ๋ ์ฝ๋๋ฅผ ์กฐํฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค.
์์ ์ฝ๋:
์์ ์ฝ๋์์๋ table_name์ A์ B๋ผ๋ ๋ณ์นญ์ผ๋ก ์ง์ ํ์ฌ ์ฌ์ฉํฉ๋๋ค. A์ B๋ฅผ ์ด์ฉํ์ฌ ๊ฐ์ ํ
์ด๋ธ ๋ด์์ Join์ ์ํํฉ๋๋ค. ์ด๋ฅผ ํตํด, ํ๋์ ํ
์ด๋ธ์์๋ ์ฌ๋ฌ ๊ฐ์ ๋ ์ฝ๋๋ฅผ ์กฐํฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ ์ ์์ต๋๋ค.
ย
ย
ํ ์ด๋ธ ๋ช ์ด ๋๋ฌด ๊ธธ๋ค๊ตฌ์?
MySQL์์ Join์ ์ฌ์ฉํ ๋, ํ
์ด๋ธ ๋ช
์ ๋ณ์นญ์ ์ฃผ์ด ์ฝ๋๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ ์ ์์ต๋๋ค. ๋ณ์นญ์ AS ํค์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ง์ ํ ์ ์์ต๋๋ค.
์์ ์ฝ๋:
์์ ์ฝ๋์์๋ table1์ t1, table2๋ฅผ t2๋ผ๋ ๋ณ์นญ์ผ๋ก ์ง์ ํ์ฌ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ฝ๋๋ฅผ ๋ ๊ฐ๊ฒฐํ๊ฒ ์์ฑํ ์ ์์ต๋๋ค.