๋ณดํต ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋์ฉ๋์ด๋ผ, ์ฌ๋ฌ ๊ฐ์ ํ ์ด๋ธ๋ก ๋ถ๋ฆฌํด์ ์ ์ฅํ๋ค.
→ ์ค๋ณต๊ณผ ๊ณต๊ฐ ๋ญ๋น ๋ฐฉ์ง, ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ์ํจ
→ ๋ถ๋ฆฌ๋ ํ ์ด๋ธ์ ์๋ก ๊ด๊ณ(relation) ๊ฐ์ง๋ฏ๋ก join ์ ์์ง๊ฐ ํ์ํ๋ค.
(๋ฐ์ดํฐ๋ฒ ์ด์ค์ DBMS ์ ์ ์ฐธ๊ณ ) ahnty0122.tistory.com/26
JOIN
- 2๊ฐ ์ด์์ ํ ์ด๋ธ ๋ฌถ์ด์ ํ๋์ ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ๋ง๋๋ ๊ฒ
-
Inner join ํต์ ์กฐ์ธ
- ๊ต์งํฉ, ์กฐ์ธ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํ๋ง ์ถ๋ ฅํ๋ ์กฐ์ธ
SELECT [COLUMN ๋ชฉ๋ก]
FROM [ํ
์ด๋ธ1]
INNER JOIN [ํ
์ด๋ธ2]
ON [์กฐ์ธ ์กฐ๊ฑด]
WHERE [๊ฒ์ ์กฐ๊ฑด]
-
Outer join
- ์กฐ์ธ ์กฐ๊ฑด์ ๋ง์กฑํ์ง ์๋ ํ๊น์ง ํฌํจํด ์ถ๋ ฅ
-- LEFT OUTER JOIN
SELECT [COLUMN ๋ชฉ๋ก]
FROM [LEFT ํ
์ด๋ธ]
[LEFT] OUTER JOIN [RIGHT ํ
์ด๋ธ]
ON [์กฐ์ธ ์กฐ๊ฑด]
WHERE [๊ฒ์ ์กฐ๊ฑด]
-- RIGHT OUTER JOIN
SELECT [COLUMN ๋ชฉ๋ก]
FROM [RIGHT ํ
์ด๋ธ]
[RIGHT] OUTER JOIN [LEFT ํ
์ด๋ธ]
ON [์กฐ์ธ ์กฐ๊ฑด]
WHERE [๊ฒ์ ์กฐ๊ฑด]
-
Cross join ์ํธ ์กฐ์ธ
- ํ์ชฝ ํ ์ด๋ธ์ ๋ชจ๋ ํ๊ณผ ๋ค๋ฅธ ์ชฝ ํ ์ด๋ธ์ ๋ชจ๋ ํ์ ์กฐ์ธํ๋ ๊ฒ
- ์ํธ ์กฐ์ธ ๊ฒฐ๊ณผ ํ ์ด๋ธ์ ํ์๋ ๋ ํ ์ด๋ธ์ ํ์๋ฅผ ๊ณฑํ ๊ฐ
- = cartesian product
-- table1๊ณผ table2 ์ํธ ์กฐ์ธ
SELECT *
FROM [table1]
CROSS JOIN [table2]
-- count(*) ํจ์๋ก ์ํธ ์กฐ์ธ ๊ฒฐ๊ณผ์ ๊ฐ์๋ง ๋ณด๊ธฐ
SELECT COUNT(*)
FROM [table1]
CROSS JOIN [table2]
-
Self join ์์ฒด ์กฐ์ธ
- ์๊ธฐ ์์ ์ ์กฐ์ธํ๋ ๊ฒ
- ex) ์กฐ์ง๋ ๊ด๋ จ ํ ์ด๋ธ
SELECT A.emp AS '๋ถํ์ง์', B.emp AS '์ง์์๊ด', B.empTEL AS '์ง์์๊ด์ฐ๋ฝ์ฒ'
FROM empTBL A
INNER JOIN empTBL B
ON A.manager = B.emp
WHERE A.emp = '์ฐ๋๋ฆฌ';
์ผ๋๋ค, ๋ค๋๋ค ๊ด๊ณ
- 1:๋ค ๊ด๊ณ
- ํ์ชฝ ํ ์ด๋ธ์๋ ํ๋์ ๊ฐ๋ง ์กด์ฌํ๊ณ , ๊ทธ ๊ฐ๋ง ๋์๋๋ ๋ค๋ฅธ ์ชฝ ํ ์ด๋ธ์ ๊ฐ์ ์ฌ๋ฌ ๊ฐ์ธ ๊ด๊ณ
- EX) ํ์ ํ ์ด๋ธ๊ณผ ์ ์ ํ ์ด๋ธ, ์ง์ ํ ์ด๋ธ๊ณผ ์๊ธ ํ ์ด๋ธ
- ๋ค:๋ค ๊ด๊ณ
- ํ ํ์์ ์ฌ๋ฌ ๊ฐ์ ๋์๋ฆฌ์ ๊ฐ์ ํ ์ ์๊ณ , ํ ๋์๋ฆฌ์๋ ์ฌ๋ฌ ํ์์ด ๊ฐ์ ํ ์ ์์ด ํ์ ํ ์ด๋ธ๊ณผ ๋์๋ฆฌ ํ ์ด๋ธ์ ๋ค๋๋ค ๊ด๊ณ์.
- ๋ค๋๋ค ๊ด๊ณ์ ๊ฒฝ์ฐ ์ฐ๊ฒฐ ํ ์ด๋ธ๊ณผ ๋ ํ ์ด๋ธ์ด ์ผ๋๋ค ๊ด๊ณ๋ฅผ ๋งบ๋๋ก ๊ตฌ์ฑ
- EX) ํ์ ํ ์ด๋ธ, ํ์_๋์๋ฆฌ ํ ์ด๋ธ(ํ์ํ ์ด๋ธ๊ณผ ๋์๋ฆฌํ ์ด๋ธ์ ์ฐ๊ฒฐ ํ ์ด๋ธ), ๋์๋ฆฌ ํ ์ด๋ธ
์ฐธ๊ณ ) MySQL ๊ธฐ์ด์์ ์ค๋ฌด๊น์ง ์์ ์ ๋ณต ํ๊ธฐ - ์์ดํฐ๊ณ ์ ๊ฒฝ์ง ๊ฐ์ฌ
728x90
'DB(Database) > Basic Concept' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[DB] ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ DBMS (0) | 2021.03.04 |
---|---|
SQL UNION, UNIONALL, NOT IN, IN (0) | 2021.02.15 |
JSON ๋ฐ์ดํฐ๋? + MySQL ๋์ฉ๋ ๋ฐ์ดํฐ ์ ์ฅ ํ์ (0) | 2021.02.06 |
[DB] SQL์ ๋ถ๋ฅ(DML, DDL, DCL) (0) | 2021.01.15 |
[DB] ๋ฐ์ดํฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค๋? (0) | 2021.01.14 |