๐Ÿ“Œ SQL JOIN - CROSS JOIN (ํฌ๋กœ์Šค ์กฐ์ธ)

My Pale Blue Dotยท2025๋…„ 3์›” 27์ผ
0

DBMS

๋ชฉ๋ก ๋ณด๊ธฐ
8/10
post-thumbnail

๐Ÿ“… ๋‚ ์งœ

2025-03-26

๐Ÿ“ ํ•™์Šต ๋‚ด์šฉ

1๏ธโƒฃ ํฌ๋กœ์Šค ์กฐ์ธ์ด๋ž€?

โœ… ๊ฐœ๋… ์„ค๋ช…

  • *CROSS JOIN(๊ต์ฐจ ์กฐ์ธ)์€ ๋‘ ๊ฐœ ์ด์ƒ์˜ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰์„ ๋ชจ๋“  ์กฐํ•ฉ**์œผ๋กœ ๋ฐ˜ํ™˜ํ•˜๋Š” ์กฐ์ธ ๋ฐฉ์‹์ด๋‹ค.
  • A ํ…Œ์ด๋ธ”์— 3๊ฐœ ํ–‰, B ํ…Œ์ด๋ธ”์— 4๊ฐœ ํ–‰์ด ์žˆ๋‹ค๋ฉด, ์ด 3 x 4 = 12๊ฐœ ํ–‰์ด ๊ฒฐ๊ณผ๋กœ ์ถœ๋ ฅ๋œ๋‹ค.
  • ๋‹ค๋ฅธ ์กฐ์ธ๊ณผ ๋‹ฌ๋ฆฌ ON ์กฐ๊ฑด์ด ํ•„์š” ์—†๋‹ค. โ†’ ์ฆ‰, ์นดํ‹ฐ์…˜ ๊ณฑ(Cartesian Product) ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ˜•ํƒœ.

โœ… ์ฃผ์˜ํ•  ์ 

  • ์‹ค๋ฌด์—์„œ ์‹ค์ˆ˜๋กœ CROSS JOIN์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์—„์ฒญ๋‚œ ์–‘์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ƒ์„ฑ๋  ์ˆ˜ ์žˆ์Œ.
  • ์˜๋„ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด INNER JOIN + ON ์กฐ๊ฑด์„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ.

2๏ธโƒฃ ํฌ๋กœ์Šค ์กฐ์ธ ์˜ˆ์ œ ์ฝ”๋“œ

โœ… ์˜ˆ์ œ ํ…Œ์ด๋ธ”

-- ๋ถ€์„œ ํ…Œ์ด๋ธ” (DEPARTMENT)
DEPT
+--------+-------------+
| DEPTNO | DNAME       |
+--------+-------------+
| 10     | ACCOUNTING  |
| 20     | RESEARCH    |
| 30     | SALES       |
+--------+-------------+

-- ์‚ฌ์› ํ…Œ์ด๋ธ” (EMPLOYEE)
EMP
+--------+----------+
| EMPNO  | ENAME    |
+--------+----------+
| 1001   | SCOTT    |
| 1002   | JONES    |
+--------+----------+

โœ… ํฌ๋กœ์Šค ์กฐ์ธ SQL

SELECT *
FROM DEPT
CROSS JOIN EMP;

๐Ÿ”น ์ถœ๋ ฅ ๊ฒฐ๊ณผ (์ด 3 x 2 = 6ํ–‰)

DEPTNODNAMEEMPNOENAME
10ACCOUNTING1001SCOTT
10ACCOUNTING1002JONES
20RESEARCH1001SCOTT
20RESEARCH1002JONES
30SALES1001SCOTT
30SALES1002JONES

3๏ธโƒฃ ์ฝ”๋“œ ๋ผ์ธ๋ณ„ ์„ค๋ช… (์ฃผ์„ ํฌํ•จ)

-- DEPT ํ…Œ์ด๋ธ”๊ณผ EMP ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰ ์กฐํ•ฉ์„ ๋ฐ˜ํ™˜
SELECT *
FROM DEPT
CROSS JOIN EMP;
-- ์กฐ๊ฑด ์—†์ด ๋ชจ๋“  ์กฐํ•ฉ์„ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ, DEPT์˜ ๊ฐ ํ–‰๋งˆ๋‹ค EMP์˜ ๋ชจ๋“  ํ–‰์ด ๋ถ™๋Š”๋‹ค.
-- ์ฆ‰, ๊ฒฐ๊ณผ ํ–‰ ์ˆ˜ = DEPT์˜ ํ–‰ ์ˆ˜ * EMP์˜ ํ–‰ ์ˆ˜

๐Ÿ”ฅ ์ •๋ฆฌ

ํ•ญ๋ชฉ๋‚ด์šฉ
์กฐ์ธ ์ด๋ฆ„CROSS JOIN (๊ต์ฐจ ์กฐ์ธ)
์กฐ๊ฑด ํ•„์š” ์—ฌ๋ถ€โŒ ON ์กฐ๊ฑด ํ•„์š” ์—†์Œ
๊ฒฐ๊ณผ๋‘ ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ–‰ ์กฐํ•ฉ (์นดํ‹ฐ์…˜ ๊ณฑ)
์‚ฌ์šฉ ์ฃผ์˜์‹ค์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๋ฉด ์—„์ฒญ๋‚œ ํ–‰์ด ์ƒ๊ธธ ์ˆ˜ ์žˆ์Œ (๋ฐ์ดํ„ฐ ํญ๋ฐœ)

๐Ÿ”— ์ฐธ๊ณ  ์ž๋ฃŒ


โœ… ๋А๋‚€ ์ 

ํฌ๋กœ์Šค ์กฐ์ธ์€ ๋‹จ์ˆœํ•œ ๊ฐœ๋…์ฒ˜๋Ÿผ ๋ณด์ด์ง€๋งŒ, ์‹ค์ˆ˜๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๊ฒฐ๊ณผ๊ฐ€ ์—„์ฒญ๋‚˜๊ฒŒ ์ปค์งˆ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ๋งค์šฐ ์กฐ์‹ฌํ•ด์•ผ๊ฒ ๋‹ค๊ณ  ๋А๊ผˆ๋‹ค.

ํŠนํžˆ INNER JOIN๊ณผ ํ—ท๊ฐˆ๋ฆฌ์ง€ ์•Š๋„๋ก ํ•ญ์ƒ ON ์กฐ๊ฑด์„ ํ™•์ธํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์—ฌ์•ผ๊ฒ ๋‹ค!


๐Ÿง  ์š”์•ฝ (Summary)

  • CROSS JOIN = ๋ชจ๋“  ํ–‰์˜ ์กฐํ•ฉ
  • ์กฐ๊ฑด ์—†์ด ์‹คํ–‰๋˜๋ฉฐ, ๊ฒฐ๊ณผ๋Š” ๋‘ ํ…Œ์ด๋ธ”์˜ ๊ณฑ์…ˆ
  • ์‹ค๋ฌด์—์„  ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•จ
profile
Here, My Pale Blue.๐ŸŒ

0๊ฐœ์˜ ๋Œ“๊ธ€