๐ป
Oracle DBMS ๋ฐ SQL - ์กฐ์ธ(JOIN) ๋ณธ๋ฌธ
-- JOIN
-- RDBMS(Relational DataBase Management System) : ๊ด๊ณํ ๋ฐ์ดํฐ ๋ฒ ์ด์ค
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ผ๋ จ์ ์ ํํ๋ ํ
์ด๋ธ ๊ตฌ์ฑ๋ ๋ฐ์ดํฐ ํญ๋ชฉ๋ค์ ์งํฉ์ฒด๋ก์จ, ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผํ๊ณ ์กฐํฉ๋ ์ ์๋ค. ์ด๋ฐ ๊ด๊ณ๋ฅผ ๋งบ๋ ๋ฐฉ๋ฒ์ด ์กฐ์ธ(์ฐ๊ฒฐ๊ณ ๋ฆฌ) ์ด๋ค.
--1. Cross Join : ํ
์ด๋ธ์ ์๋ก ์กฐ๊ฑด์์ด ์ฐ๊ฒฐํ์ฌ ๋์ดํ ๊ฒ
--107 * 27 = 2889 : ์๋ฌด ์๋ฏธ์๋ ๊ฒฐํฉ
--2. Equi Join : ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ์กฐ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋์์ด ๋๋ ํ
์ด๋ธ์
-- ๊ณตํต์ ์ผ๋ก ์กด์ฌํ๋ ์ปฌ๋ผ์ ๊ฐ์ด ์ผ์น๋๋ ํ์ ์ฐ๊ฒฐํ์ฌ ๊ฒฐ๊ณผ๋ฅผ ์์ฑ
-- WHERE์ ์ ํ
์ด๋ธ์ ๊ณตํต๋ ์ปฌ๋ผ์ ์กฐ์ธ ์กฐ๊ฑด์ผ๋ก ์ ์ํ๋ค.
-- ๋ชจํธ์ฑ์ ํด๊ฒฐํ๊ธฐ ์ํด์ ๋์ผํ ์ปฌ๋ผ์ ํ ์ด๋ธ๋ช ๋ช ์ํ๋ค.
-- David ์ฌ์์ ์ด๋ฆ, ๋ถ์๋ฒํธ, ๋ถ์๋ช ๊ฒ์
--IT๋ถ์ ์์ ์ฌ์์ ์ด๋ฆ, ๋ถ์๋ฒํธ, ๋ถ์๋ช , ์ ์ฌ๋ ์์ผ ๊ฒ์
--์ค๋ฌด์์๋ ํ ์ด๋ธ ๊ตฌ์กฐ๊ฐ ๋ณต์กํ๊ณ ํ๋๋ช ์ ๊ตฌ๋ถํ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ ์๋ณ์๋ฅผ ๋ถ์ด๋ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
--0413
--๋ถ์๊ฐ 90๋ฒํธ๋ฅผ ์ ์ธํ ์ฌ์์ ์ฌ์๋ช
, ๋ถ์์ฝ๋, ๋ถ์๋ช
๊ฒ์
--IT๋ถ์์ Maketing ๋ถ์ ์์ ์ฌ์์ ์ด๋ฆ, ๋ถ์๋ฒํธ, ์ ์ฌ์ผ, ๋ถ์๋ช
--๋ถ์๋ณ ํ๊ท ์ฐ๋ด์ ๊ตฌํ์ธ์
--select์ ์๋ group์ผ๋ก ๋ฌถ์ธ ์ปฌ๋ผ๋ง ๋ค์ด๊ฐ ์ ์์
--2-1) Natural Join : Equi Join์ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ๋ ํ ๋ฐฉ๋ฒ
-- ํ์) - FROM ํ
์ด๋ธ๋ช
Natural Join ํ
์ด๋ธ๋ช
--NATURAL JOIN ๋ชปํจ. ๋ ํ ์ด๋ธ์ ์ด์ ์ด๋ฆ์ด 2๊ฐ ์ด์ ๊ฐ์ ๊ฒฝ์ฐ์๋ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์
--Join - Using
--ํ์) FROM ํ
์ด๋ธ ๋ช
JOIN ํ
์ด๋ธ๋ช
USING ์กฐ๊ฑด์
--Join - On : Join - Using์ ๋ ๋ค๋ฅธ ํํ ๋ฐฉ๋ฒ
--ํ์) FROM ํ
์ด๋ธ ๋ช
JOIN ํ
์ด๋ธ๋ช
ON ์กฐ๊ฑด์
--3. Non-Equi Join : WHERE์ ์ ์กฐ์ธ์กฐ๊ฑด(=)์ฐ์ฐ์ ์ด์ธ์ ๋น๊ต์ฐ์ฐ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ
-- Non-Equi Join์ ์ค๋ณต๋๋ ์ปฌ๋ผ์ด ์์ผ๋ฉด ์๋๋ค.
-- ์ฆ, ๊ธฐ๋ณธํค์ ์ธ๋ํค ๊ด๊ณ๊ฐ ์๋ ์ด๊ฐ๋ค์ ์๋ฏธ์๋ ๊ด๊ณ๋ก ์กฐ์ธํ๋ค.
--4. Self Join : ์์ ๊ณผ ๊ฐ์ ํ ์ด๋ธ์ด ๋๊ฐ์ธ ๊ฒ์ฒ๋ผ ์๊ธฐ ์์ ์ ํ ์ด๋ธ๊ณผ ์กฐ์ธํ๋ ๊ฒ
--5. Outer Join : ํ
์ด๋ธ์ด ์กฐ์ธ๋ ๋ ์ด๋ ํ์กฑ์ ํ
์ด๋ธ์๋ ํด๋นํ๋ ๋ฐ์ดํฐ๊ฐ ์์ผ๋,
-- ๋ค๋ฅธ ํ
์ด๋ธ์๋ ์๋ ๊ฒฝ์ฐ ๊ทธ ๋ฐ์ดํฐ๋ ์ถ๋ ฅ๋์ง ์๋๋ค. ๊ทธ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํ ์กฐ์ธ
-- Right Outer Join, Left Outer Join, Full Outer Join
'KITRI > ORACLE' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Orarcle DBMS ๋ฐ SQL - ๊ณ์ ์์ฑ/์ญ์ , ๊ถํ๋ถ์ฌ (0) | 2020.04.17 |
---|---|
Oracle DBMS ๋ฐ SQL - ์๋ธ์ฟผ๋ฆฌ(SUBQUERY) (0) | 2020.04.14 |
Oracle DBMS ๋ฐ SQL - ํจ์(๊ทธ๋ฃนํจ์) (0) | 2020.04.10 |
Oracle DBMS ๋ฐ SQL - ํจ์(์ซ์ํจ์, ๋ ์งํจ์, ๋ณํํจ์) (0) | 2020.04.08 |
Oracle DBMS ๋ฐ SQL - SELECT ๋ฌธ(WHERE์ , ๋น๊ต์ฐ์ฐ์) (0) | 2020.04.08 |