๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’ป Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] SQL ์ฟผ๋ฆฌ ์‹คํ–‰ ์ˆœ์„œ(JOIN, ON, FROM, GROUP BY ๋“ฑ)

by Jay Din 2023. 12. 18.
728x90
๋ฐ˜์‘ํ˜•

์ฟผ๋ฆฌ๋ฌธ์€ ๋ฌธ๋ฒ•์˜ ์ˆœ์„œ์— ๋”ฐ๋ผ ์‹คํ–‰ ์†๋„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ๋ฌธ์˜ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ์ž‘์„ฑํ•˜๋ฉด ๋ณด๋‹ค ํšจ์œจ์ ์ธ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ฐ„๋‹จํ•œ ์‹คํ–‰ ์ˆœ์„œ

  1. FROM: ์–ด๋Š ํ…Œ์ด๋ธ”์—์„œ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ธ๊ฐ€?
  2. WHERE: ์–ด๋–ค ์กฐ๊ฑด์˜ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ธ๊ฐ€?
  3. GROUP BY: ๋ฐ์ดํ„ฐ๋ฅผ ์–ด๋–ป๊ฒŒ ๊ทธ๋ฃนํ™” ์‹œํ‚ฌ ๊ฒƒ์ธ๊ฐ€?
  4. HAVING: ๊ทธ๋ฃนํ™”๋œ ๋ฐ์ดํ„ฐ์—์„œ ์–ด๋–ค ์กฐ๊ฑด์˜ ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ธ๊ฐ€?
  5. SELECT: ์–ด๋–ค ์ปฌ๋Ÿผ์„ ๊ฐ€์ ธ์˜ฌ ๊ฒƒ์ธ๊ฐ€?
  6. ORDER BY: ์–ด๋–ป๊ฒŒ ์ •๋ ฌํ•  ๊ฒƒ์ธ๊ฐ€? (์˜ค๋ฆ„์ฐจ์ˆœ or ๋‚ด๋ฆผ์ฐจ์ˆœ)

 

์ž์„ธํ•œ ์‹คํ–‰ ์ˆœ์„œ

  1. FROM : ๊ฐ ํ…Œ์ด๋ธ” ํ™•์ธ
  2. ON : ์กฐ์ธ ์กฐ๊ฑด ํ™•์ธ
  3. JOIN : ํ…Œ์ด๋ธ” ์กฐ์ธ (๋ณ‘ํ•ฉ)
  4. WHERE : ๋ฐ์ดํ„ฐ ์ถ”์ถœ ์กฐ๊ฑด ํ™•์ธ
  5. GROUP BY : ํŠน์ • ์นผ๋Ÿผ์œผ๋กœ ๋ฐ์ดํ„ฐ ๊ทธ๋ฃนํ™”
  6. HAVING : ๊ทธ๋ฃนํ™” ์ดํ›„ ๋ฐ์ดํ„ฐ ์ถ”์ถœ ์กฐ๊ฑด ํ™•์ธ
  7. SELECT : ๋ฐ์ดํ„ฐ ์ถ”์ถœ
  8. DISTINCT : ์ค‘๋ณต ์ œ๊ฑฐ
  9. ORDER BY : ๋ฐ์ดํ„ฐ ์ •๋ ฌ

 

๊ฐ ์‹คํ–‰ ๊ตฌ๋ฌธ์˜ ์˜๋ฏธ

  1. FROM ์ ˆ
    • ์ฟผ๋ฆฌ์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์œผ๋กœ, ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ฌ ํ…Œ์ด๋ธ”๋“ค์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  2. JOIN ์ ˆ
    • ํ…Œ์ด๋ธ” ๊ฐ„์˜ ์กฐ์ธ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
    • ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•  ๋•Œ๋Š” JOIN ์ ˆ์ด ์—ฌ๋Ÿฌ ๋ฒˆ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    • JOIN ์ ˆ์—์„œ ์–ด๋–ป๊ฒŒ ํ…Œ์ด๋ธ”์„ ๊ฒฐํ•ฉํ• ์ง€ ์ง€์ •ํ•˜๋ฉฐ, ์ด๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์กฐ๊ฑด์€ ON ์ ˆ์— ๋ช…์‹œ๋ฉ๋‹ˆ๋‹ค.
  3. ON ์ ˆ
    • JOIN ์ ˆ์—์„œ ํ…Œ์ด๋ธ”์„ ๊ฒฐํ•ฉํ•  ๋•Œ ์‚ฌ์šฉ๋˜๋Š” ์กฐ์ธ ์กฐ๊ฑด์„ ๋ช…์‹œํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, ๋‘ ํ…Œ์ด๋ธ” ๊ฐ„์˜ ํŠน์ • ์—ด ๊ฐ’์ด ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ์— ์กฐ์ธ์ด ์ด๋ฃจ์–ด์ง‘๋‹ˆ๋‹ค.
  4. WHERE ์ ˆ
    • JOIN ์ดํ›„ WHERE ์ ˆ์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค.
    • WHERE ์ ˆ์—์„œ๋Š” ์กฐ์ธ๋œ ๊ฒฐ๊ณผ๋ฅผ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  5. SELECT ์ ˆ
    • JOIN๊ณผ WHERE ์ ˆ ์ดํ›„์— SELECT ์ ˆ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
    • ๊ฒฐ๊ณผ๋กœ ๋ฐ˜ํ™˜ํ•  ์—ด์„ ์„ ํƒํ•˜๊ณ  ํ•„์š”์— ๋”ฐ๋ผ ๊ณ„์‚ฐ๋œ ๊ฐ’์„ ํฌํ•จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  6. GROUP BY ๋ฐ HAVING ์ ˆ
    • JOIN๊ณผ SELECT ์ดํ›„์— GROUP BY์™€ HAVING ์ ˆ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
    • ๊ทธ๋ฃนํ™”๋œ ๊ฒฐ๊ณผ๋ฅผ ๋งŒ๋“ค๊ฑฐ๋‚˜, ํŠน์ • ๊ทธ๋ฃน์„ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  7. ORDER BY์ ˆ
    • ์ตœ์ข… ๊ฒฐ๊ณผ๋ฅผ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.

 

 

 

 

728x90
๋ฐ˜์‘ํ˜•