JOIN
ํ ํ
์ด๋ธ๊ณผ ๋ค๋ฅธ ํ
์ด๋ธ์ด ์ธ๋ ํค
๋ก ์ฐ๊ฒฐ์ด ๋์ด ์๋ ๊ฒฝ์ฐ ๋ ํ
์ด๋ธ์ ์ฐ๊ฒฐํ์ฌ, ๋ ํ
์ด๋ธ์์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ SELECT
๊ฐ ๊ฐ๋ฅํ๋ค.
INNER JOIN
๋ ํ ์ด๋ธ์ ๋น๊ตํ์ฌ ์กฐ๊ฑด์ด ์ฐธ์ธ COLUMN์ SELECT
๋ ํ ์ด๋ธ ๊ฐ์ ๊ฐ์ด ์ผ์นํ๋ ํ๋ง ํฌํจ ( ๊ต์งํฉ )
join_condition์ด ์ฐธ์ธ COLUMN์ SELECTํ๋ ๊ฒฝ์ฐ์ด๋ค.
๋ ํ
์ด๋ธ์ colmun_name์ด ๊ฐ์ table_1.name = table_2.name
์ธ ๊ฒฝ์ฐ USING
์ ์ฌ์ฉํ์ฌ ํํ ํ ์ ์๋ค.
LEFT JOIN
์ผ์ชฝ ํ ์ด๋ธ์ ๊ธฐ์ค์ผ๋ก ๋ชจ๋ ๊ฐ์ ๊ฐ์ ธ์ค๋, ์ค๋ฅธ์ชฝ๊ณผ ๊ฐ์ ๊ฐ์ ๊ฐ์ ์ฑ์์ ๊ฐ์ ธ์ค๊ณ ์ค๋ฅธ์ชฝ๊ณผ ๊ฐ์ง ์์ ๊ฐ์ NULL๋ก selectํ๋ค
RIGHT JOIN
left join์ ๋ฐ๋๋ก ์ค๋ฅธ์ชฝ ํ ์ด๋ธ์ ๊ธฐ์ค์ผ๋ก ๋ชจ๋ ๊ฐ์ ๊ฐ์ ธ์ค๋, ์กฐ๊ฑด์ด ์ฐธ์ด ์๋ ๊ฐ์ null๋ก ๊ฐ์ ธ์จ๋ค.
JOIN ON์์ ์กฐ๊ฑด ์ถ๊ฐ์ WHERE ์กฐ๊ฑด ๋น๊ต
์์ ๋ ์ฟผ๋ฆฌ ๋ฌธ์ ๋น๊ตํด๋ณด๋ฉด, ์ฒซ๋ฒ์งธ ์ฟผ๋ฆฌ๋ฌธ์ ordernumber์ด ๊ฐ์ column๋ง selectํ where์ ๋ก ์ธํด ordernumber์ด 10123์ธ column๋ง selectํ๋ค.
๋๋ฒ์งธ ์ฟผ๋ฆฌ๋ฌธ์, ๋ชจ๋ ordernumber์ด ๊ฐ์ column์ ๋ํด ordernumber์ด 10123์ธ column๋ง ๊ฐ์ด ๋ค์ด์๊ณ ๋ค๋ฅธ ๋ชจ๋ column์ null๊ฐ์ด ๋ค์ด์๋ ํ ์ด๋ธ์ ๋ชจ๋ selectํ๋ ์ฟผ๋ฆฌ๋ฌธ์ด๋ค.
CROSS JOIN
ํฌ๋ก์ค ์กฐ์ธ์ on ์กฐ๊ฑด ์๊ณ , ๋ชจ๋ ํ ์ด๋ธ์ ํ์ ๊ฒฐํฉํ๋ค. (ํ๋ ฌ์ ๊ณฑ, mxn)
SELF JOIN
ํ ํ ์ด๋ธ์์ ์๊ธฐ ์์ ์ ์ฐธ์กฐํ์ฌ ํ column๊ณผ ๋ค๋ฅธ column์ ๋น๊ตํ ๋ ์ฌ์ฉํ๋ค.
SELF JOIN๋ INNER JOIN๊ณผ LEFT JOIN์ ์ด์ฉํ์ฌ ๊ต์งํฉ๋ง ํ์ํ ์ง, NULL๊ฐ์ ํฌํจํ ๊ฐ์ ๊ฐ์ ธ ์ฌ์ง ์ํฉ์๋ฐ๋ผ ์ ํํ์ฌ ์ฌ์ฉํ๋ฉด๋๋ค.
INNER JOIN
LEFT JOIN
Last updated