yujch 2022. 11. 5. 06:53
๋ฐ˜์‘ํ˜•

ํ‘œ์ค€ JOIN

- ์ผ๋ฐ˜ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž

  • UNION : ํ•ฉ์ง‘ํ•ฉ (๊ณตํ†ต ๊ต์ง‘ํ•ฉ์˜ ์ค‘๋ณต ์ œ๊ฑฐ) / UNION ALL (๊ณตํ†ต์ง‘ํ•ฉ์„ ์ค‘๋ณตํ•ด์„œ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ) => ๋‘˜์˜ ์ถœ๋ ฅ ๊ฒฐ๊ณผ๊ฐ€ ๊ฐ™๋‹ค๋ฉด UNION ALL ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ๊ณ 
  • INTERSECTION :  ๊ต์ง‘ํ•ฉ => INTERSECT
  • DIFFERENCE : ์ฐจ์ง‘ํ•ฉ => Oracle์€ MINUS / SQL์€ EXCEPT
  • PRODUCT : ๊ณฑ์ง‘ํ•ฉ(์ƒ๊ธธ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ ์กฐํ•ฉ) => CROSS JOIN

 

- ์ˆœ์ˆ˜ ๊ด€๊ณ„ ์—ฐ์‚ฐ์ž

  1. SELECT ์—ฐ์‚ฐ์€ WHERE ์ ˆ๋กœ ๊ตฌํ˜„๋˜์—ˆ๋‹ค.
  2. PROJECT ์—ฐ์‚ฐ์€ SELECT ์ ˆ๋กœ ๊ตฌํ˜„๋˜์—ˆ๋‹ค.
  3. JOIN ์—ฐ์‚ฐ์€ NATUORAL JOIN, INNER JOIN, OUTER JOIN, USING ์กฐ๊ฑด์ ˆ, ON ์กฐ๊ฑด์ ˆ
  4. DIVIDE ์—ฐ์‚ฐ์€ ํ˜„์žฌ ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š”๋‹ค.

 


 

- INNER JOIN

  • JOIN ์กฐ๊ฑด์—์„œ ๋™์ผํ•œ ๊ฐ’์ด ์žˆ๋Š” ํ–‰๋งŒ ๋ฐ˜ํ™˜
  • WHERE ์ ˆ์—์„œ ์‚ฌ์šฉํ•˜๋˜ JOIN ์กฐ๊ฑด์„ FROM์ ˆ์—์„œ ์ •์˜ํ•˜๊ฒ ๋‹ค๋Š” ํ‘œ์‹œ => USING ์กฐ๊ฑด์ ˆ or ON ์กฐ๊ฑด์ ˆ ํ•„์ˆ˜

 

- NATURAL JOIN

  • ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋ชจ๋“  ์นผ๋Ÿผ์— ๋Œ€ํ•ด EQUI JOIN ์ˆ˜ํ–‰ (SQL์—์„œ ์ง€์› X)
  • USING ์กฐ๊ฑด์ ˆ, ON ์กฐ๊ฑด์ ˆ ์‚ฌ์šฉ X
  • JOIN์— ์‚ฌ์šฉ๋œ ์นผ๋Ÿผ๋“ค์€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์š”ํ˜•์ด์–ด์•ผ ํ•จ
  • JOIN ๋˜๋Š” ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ์„ฑ๊ฒฉ(๋„๋ฉ”์ธ)๊ณผ ์นผ๋Ÿผ๋ช… ๋“ฑ์ด ๋™์ผํ•ด์•ผํ•จ
  • ALIAS๋‚˜ ํ…Œ์ด๋ธ” ๋ช… ๊ฐ™์€ ์ ‘๋‘์‚ฌ ์‚ฌ์šฉ X
๋ฐ˜์‘ํ˜•