๐Ÿ’ป

Oracle DBMS ๋ฐ SQL - ์กฐ์ธ(JOIN) ๋ณธ๋ฌธ

KITRI/ORACLE

Oracle DBMS ๋ฐ SQL - ์กฐ์ธ(JOIN)

๋˜ํšจ๋‹ˆ 2020. 4. 10. 16:41

-- 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

๋ฐ˜์‘ํ˜•
Comments