GROUP_BY_HAVING

๋‚˜์ฐฌ์›…ยท2024๋…„ 10์›” 17์ผ

DB

๋ชฉ๋ก ๋ณด๊ธฐ
6/10

๐Ÿ“Œ SELECT๋ฌธ ํ•ด์„ ์ˆœ์„œ

  • 5 : SELECT ์ปฌ๋Ÿผ๋ช… AS ๋ณ„์นญ, ๊ณ„์‚ฐ์‹, ํ•จ์ˆ˜์‹
  • 1 : FROM ํ…Œ์ด๋ธ”๋ช…
  • 2 : WHERE ์ปฌ๋Ÿผ๋ช… | ํ•จ์ˆ˜์‹ ๋น„๊ต์—ฐ์‚ฐ์ž ๋น„๊ต๊ฐ’
  • 3 : GROUP BY ๊ทธ๋ฃน์„ ๋ฌถ์„ ์ปฌ๋Ÿผ๋ช…
  • 4 : HAVING ๊ทธ๋ฃนํ•จ์ˆ˜์‹ ๋น„๊ต์—ฐ์‚ฐ์ž ๋น„๊ต๊ฐ’
  • 6 : ORDER BY ์ปฌ๋Ÿผ๋ช… | ๋ณ„์นญ | ์ปฌ๋Ÿผ์ˆœ๋ฒˆ ์ •๋ ฌ๋ฐฉ์‹(ASC/DESC) [NULLS FIRST | LAST];

๐Ÿ“Œ ORDER BY์ ˆ

  • SELECTํ•œ ์ปฌ๋Ÿผ์— ๋Œ€ํ•ด ์ •๋ ฌ์„ ํ•  ๋•Œ ์ž‘์„ฑํ•˜๋Š” ๊ตฌ๋ฌธ์œผ๋กœ
    SELECT ๊ตฌ๋ฌธ์˜ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์ž‘์„ฑํ•˜๋ฉฐ ์‹คํ–‰ ์ˆœ์„œ ์—ญ์‹œ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰์— ์ˆ˜ํ–‰๋จ


๐Ÿ“Œ GROUP BY์ ˆ

: ๊ฐ™์€ ๊ฐ’๋“ค์ด ์—ฌ๋Ÿฌ๊ฐœ ๊ธฐ๋ก๋œ ์ปฌ๋Ÿผ์„ ๊ฐ€์ง€๊ณ  ๊ฐ™์€ ๊ฐ’๋“ค์„ ํ•˜๋‚˜์˜ ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์Œ

  • GROUP BY ์ปฌ๋Ÿผ๋ช… | ํ•จ์ˆ˜์‹, ..

-- ์—ฌ๋Ÿฌ๊ฐœ์˜ ๊ฐ’์„ ๋ฌถ์–ด์„œ ํ•˜๋‚˜๋กœ ์ฒ˜๋ฆฌํ•  ๋ชฉ์ ์œผ๋กœ ์‚ฌ์šฉํ•จ
-- ๊ทธ๋ฃน์œผ๋กœ ๋ฌถ์€ ๊ฐ’์— ๋Œ€ํ•ด์„œ SELECT์ ˆ์—์„œ ๊ทธ๋ฃนํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•จ

-- ๊ทธ๋ฃนํ•จ์ˆ˜๋Š” ๋‹จ ํ•œ๊ฐœ์˜ ๊ฒฐ๊ณผ๊ฐ’๋งŒ ์‚ฐ์ถœํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ๋ฃน์ด ์—ฌ๋Ÿฌ๊ฐœ์ผ ๊ฒฝ์šฐ ์˜ค๋ฅ˜ ๋ฐœ์ƒ

-- ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฐ๊ณผ๊ฐ’์„ ์‚ฐ์ถœํ•˜๊ธฐ ์œ„ํ•ด ๊ทธ๋ฃนํ•จ์ˆ˜๊ฐ€ ์ ์šฉ๋œ ๊ทธ๋ฃน์˜ ๊ธฐ์ค€์„ ORDER BY์ ˆ์— ๊ธฐ์ˆ ํ•˜์—ฌ ์‚ฌ์šฉ

๐Ÿ”” GROUP BY ์‚ฌ์šฉ ์‹œ ์ฃผ์˜ ์‚ฌํ•ญ

--> SELECT ๋ฌธ์— GROUP BY์ ˆ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ
--> SELECT์ ˆ์— ๋ช…์‹œํ•œ ์กฐํšŒํ•˜๋ ค๋Š” ์ปฌ๋Ÿผ ์ค‘
-- ๊ทธ๋ฃนํ•จ์ˆ˜๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š์€ ์ปฌ๋Ÿผ์„
-- ๋ชจ๋‘ GROUP BY ์ ˆ์— ์ž‘์„ฑํ•ด์•ผ ํ•จ


๐Ÿ“Œ HAVING์ ˆ

  • ๊ทธ๋ฃน ํ•จ์ˆ˜๋กœ ๊ฐ’์„ ๊ตฌํ•ด์˜ฌ ๊ทธ๋ฃน์— ๋Œ€ํ•ด ์กฐ๊ฑด์„ ์„ค์ •ํ•  ๋•Œ HAVING์ ˆ์— ๊ธฐ์ˆ 
    (WHERE์ ˆ์€ ๊ฐ ์ปฌ๋Ÿผ ๊ฐ’์— ๋Œ€ํ•œ ์กฐ๊ฑด)

  • HAVING ์ปฌ๋Ÿผ๋ช… : ํ•จ์ˆ˜์‹๊ณผ ๋น„๊ต์—ฐ์‚ฐ์ž ํ’€์ด


๐Ÿ“Œ ์ง‘๊ณ„ ํ•จ์ˆ˜(ROLLUP, CUBE)

  • ๊ทธ๋ฃน ๋ณ„ ์‚ฐ์ถœ ๊ฒฐ๊ณผ ๊ฐ’์˜ ์ง‘๊ณ„๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜
    -- (๊ทธ๋ฃน๋ณ„๋กœ ์ค‘๊ฐ„ ์ง‘๊ณ„ ๊ฒฐ๊ณผ๋ฅผ ์ถ”๊ฐ€)
    -- GROUP BY ์ ˆ์—์„œ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜!
  • ROLLUP : GROUP BY ์ ˆ์—์„œ ๊ฐ€์žฅ๋จผ์ € ์ž‘์„ฑ๋œ ์ปฌ๋Ÿผ์˜ ์ค‘๊ฐ„ ์ง‘๊ณ„๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜
  • CUBE : GROUP BY ์ ˆ์— ์ž‘์„ฑ๋œ ๋ชจ๋“  ์ปฌ๋Ÿผ์˜ ์ค‘๊ฐ„ ์ง‘๊ณ„๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ•จ์ˆ˜

๐Ÿ“Œ ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž

  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ SELECT ๊ฒฐ๊ณผ๋ฌผ์„ ํ•˜๋‚˜์˜ ์ฟผ๋ฆฌ๋กœ ๋งŒ๋“œ๋Š” ์—ฐ์‚ฐ์ž

  • UNION

  • UNION ALL

  • INTERSECT

  • MINUS

0๊ฐœ์˜ ๋Œ“๊ธ€