join์ด ํ์ํ ์ด์
user ํ ์ด๋ธ ์ฌ์ฉ์ ์ ๋ณด orderํ ์ด๋ธ ์ฃผ๋ฌธ์ ๋ณด


๋ง์ฝ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ์ฃผ๋ฌธํ ์ํ์ ๊ฐ์ด ๋ณด๊ณ ์ถ๋ค๋ฉด?
๋ ํ ์ด๋ธ์ user_id ๊ธฐ์ค์ผ๋ก JOIN ํด์ผ ํจ
INNER JOIN (๊ต์งํฉ)
: INNER JOIN์ ๋ ํ ์ด๋ธ์์ ์ผ์นํ๋ ๋ฐ์ดํฐ๋ง ์ถ๋ ฅํ๋ ๋ฐฉ์
SELECT users.name, users.email, orders.product_name, orders.quantity
FROM users
INNER JOIN orders ON users.user_id = orders.user_id;
inner join ๊ฒฐ๊ณผ

users์ orders์์ user_id๊ฐ ๊ฐ์ ๋ฐ์ดํฐ๋ง ๋งค์นญ๋จ!
LEFT JOIN (์ผ์ชฝ ํ ์ด๋ธ ๊ธฐ์ค)
: LEFT JOIN์ ์ผ์ชฝ(users) ํ ์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๊ณ , ์ผ์นํ๋ ๋ฐ์ดํฐ๊ฐ ์์ผ๋ฉด NULL์ ์ถ๋ ฅ
SELECT users.name, users.email, orders.product_name, orders.quantity
FROM users
LEFT JOIN orders ON users.user_id = orders.user_id;
left join ๊ฒฐ๊ณผ

์ฃผ๋ฌธํ ์ ์ด ์๋ '์ ์์ฐ'๋ ๋์ค์ง๋ง ์ฃผ๋ฌธ ์ ๋ณด๋ NULL
RIGHT JOIN (์ค๋ฅธ์ชฝ ํ ์ด๋ธ ๊ธฐ์ค)
: RIGHT JOIN์ ์ค๋ฅธ์ชฝ(orders) ํ
์ด๋ธ์ ๊ธฐ์ค์ผ๋ก ํ๊ณ ,
์ผ์นํ์ง ์๋ users ๋ฐ์ดํฐ๋ NULL
SELECT users.name, users.email, orders.product_name, orders.quantity
FROM users
RIGHT JOIN orders ON users.user_id = orders.user_id;
์ง๊ธ์ users์ ์๋ ์ฃผ๋ฌธ์ด ์์ด์ inner join๊ณผ ๋์ผ
FULL JOIN (๋ชจ๋ ๋ฐ์ดํฐ)
: FULL JOIN์ ๋ ํ
์ด๋ธ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์ค๋ ๋ฐฉ์
๋ง์ฝ ํ์ชฝ ํ
์ด๋ธ์๋ง ์๋ ๋ฐ์ดํฐ๋ NULL
SELECT users.name, users.email, orders.product_name, orders.quantity
FROM users
FULL JOIN orders ON users.user_id = orders.user_id;
'๐๏ธ ๋ฐฑ์๋ > ๐๏ธDB' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| # org.postgresql.util.PSQLException: The authentication type 10 is not supported DB ์ธ์ฆ๋ฐฉ์ ์๋ฌ ํด๊ฒฐ๋ฐฉ๋ฒ (2) | 2025.07.08 |
|---|---|
| # PostgreSQL ๋ฝ(blocking) ์ํฉ ์ ๋ฆฌ ํด๊ฒฐ๋ฐฉ๋ฒ (1) | 2025.07.01 |
| # DB multipolygon ์์น ์กฐ์ ํ๊ธฐ (0) | 2025.04.07 |
| dbeaver(๋๋น๋ฒ) auto commit ํด์ (0) | 2025.02.19 |
| # ์ฟผ๋ฆฌ๋ฌธ ์ฃผ์ํ ์ (0) | 2025.02.17 |