๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
DB/MySQL

[MySQL] ๋ฐ์ดํ„ฐ์˜ ๊ต์ง‘ํ•ฉ & ํ•ฉ์ง‘ํ•ฉ - JOIN

by yunamom 2022. 3. 28.
728x90
300x250

โœจ MySQL JOIN ์ด๋ž€?

๋‘˜ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์„ ์—ฐ๊ฒฐํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

์—ฐ๊ฒฐํ•˜๋ ค๋ฉด ํ…Œ์ด๋ธ”๋“ค์ด ์ ์–ด๋„ ํ•˜๋‚˜์ด์ƒ์˜ ์ปฌ๋Ÿผ์„ ๊ณต์œ ํ•˜๊ณ  ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ณต์œ ํ•˜๊ณ  ์žˆ๋Š” ์ปฌ๋Ÿผ์„ PK ๋˜๋Š” FK๊ฐ’์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

mysql


๊ต์ง‘ํ•ฉ(INNER) / ๋ถ€๋ถ„์ง‘ํ•ฉ(LEFT/RIGHT) / ํ•ฉ์ง‘ํ•ฉ (MySQL ์€ OUTER JOIN ์ด ์—†์–ด์„œ LEFT์กฐ์ธ + RIGHT์กฐ์ธ ์œผ๋กœ ํ•ฉ์ณ์ค๋‹ˆ๋‹ค.)

 

INNER JOIN LEFT/RIGHT JOIN OUTER JOIN
๊ต์ง‘ํ•ฉ,๊ณตํ†ต์ ์ธ ๋ถ€๋ถ„๋งŒ SELECT๋จ ์กฐ์ธ๊ธฐ์ค€ ์™ผ์ชฝ/์˜ค๋ฅธ์ชฝ ์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋‘ SELECT ๋จ OUTER JOIN์—์„  INNER Table์— ์ผ์น˜ํ•˜๋Š” ๋ ˆ์ฝ”๋“œ๊ฐ€ ์—†์œผ๋ฉด ๋ชจ๋‘ NULL๋กœ ์ฑ„์›Œ์„œ ๊ฐ€์ ธ์˜จ๋‹ค.
์ž‘์„ฑ๋ฒ• )

์ฒซ๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„

JOIN ๋‘๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„
ON ์กฐ๊ฑด
 
์ž‘์„ฑ๋ฒ• )

์ฒซ๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„

LEFT JOIN ๋‘๋ฒˆ์งธํ…Œ์ด๋ธ”์ด๋ฆ„
ON ์กฐ๊ฑด
 
์ž‘์„ฑ๋ฒ• )

SELECT ํ•„๋“œ์ด๋ฆ„ FROM ํ…Œ์ด๋ธ”์ด๋ฆ„
UNION
SELECT ํ•„๋“œ์ด๋ฆ„ FROM ํ…Œ์ด๋ธ”์ด๋ฆ„
๐Ÿ’กMySQL ์€ OUTER JOIN ์ด ์—†์–ด์„œ

LEFT์กฐ์ธ + RIGHT์กฐ์ธ ์œผ๋กœ ํ•ฉ์ณ์ค๋‹ˆ๋‹ค.

 

728x90
300x250

์ฝ”๋“œ