๊ด€๋ฆฌ ๋ฉ”๋‰ด

ITโ€™s Portfolio

[Lecture] DataBase - Day 5 ๋ณธ๋ฌธ

Development Study

[Lecture] DataBase - Day 5

f1r3_r41n 2023. 12. 29. 18:01
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ–ฅ DataBase - Day 5

๐Ÿ‘‰๐Ÿป [Chapter 07] ๋‹ค์ค‘ํ–‰ ํ•จ์ˆ˜์™€ ๋ฐ์ดํ„ฐ ๊ทธ๋ฃนํ™”

[01] ๋‹ค์ค‘ํ–‰ ํ•จ์ˆ˜

  • sum
    • ๋ฐ์ดํ„ฐ์˜ ํ•ฉ์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜
  • count
    • ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜
  • max
    • ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์ค‘ ์ตœ๋Œ“๊ฐ’ ๋ฐ˜ํ™˜
  • min
    • ์ž…๋ ฅ ๋ฐ์ดํ„ฐ ์ค‘ ์ตœ์†Ÿ๊ฐ’ ๋ฐ˜ํ™˜
  • avg
    • ์ž…๋ ฅ ๋ฐ์ดํ„ฐ์˜ ํ‰๊ท  ๊ฐ’์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜

[02] group by ์ ˆ

select [์กฐํšŒํ•  ์—ดn ์ด๋ฆ„]
from [์กฐํšŒํ•  ํ…Œ์ด๋ธ” ์ด๋ฆ„]
where [์กฐํšŒํ•  ํ–‰์„ ์„ ๋ณ„ํ•˜๋Š” ์กฐ๊ฑด์‹]
group by [๊ทธ๋ฃนํ™”ํ•  ์—ด์„ ์ง€์ •(์—ฌ๋Ÿฌ ๊ฐœ ์ง€์ • ๊ฐ€๋Šฅ)]
order by [์ •๋ ฌํ•˜๋ ค๋Š” ์—ด ์ง€์ •]
  • ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์—์„œ ์˜๋ฏธ ์žˆ๋Š” ํ•˜๋‚˜์˜ ๊ฒฐ๊ณผ๋ฅผ ํŠน์ • ์—ด ๊ฐ’๋ณ„๋กœ ๋ฌถ์–ด์„œ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉ
  • ์œ ์˜์ 
    • ๋‹ค์ค‘ํ–‰ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์€ ์ผ๋ฐ˜ ์—ด์€ group by ์ ˆ์— ๋ช…์‹œํ•˜์ง€ ์•Š์œผ๋ฉด select ์ ˆ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์Œ

[03] having ์ ˆ

select [์กฐํšŒํ•  ์—ดn ์ด๋ฆ„]
from [์กฐํšŒํ•  ํ…Œ์ด๋ธ” ์ด๋ฆ„]
where [์กฐํšŒํ•  ํ–‰์„ ์„ ๋ณ„ํ•˜๋Š” ์กฐ๊ฑด์‹]
group by [๊ทธ๋ฃนํ™”ํ•  ์—ด ์ง€์ •(์—ฌ๋Ÿฌ ๊ฐœ ์ง€์ • ๊ฐ€๋Šฅ)]
having [์ถœ๋ ฅ ๊ทธ๋ฃน์„ ์ œํ•œํ•˜๋Š” ์กฐ๊ฑด์‹]
order by [์ •๋ ฌํ•˜๋ ค๋Š” ์—ด ์ง€์ •]
  • select ๋ฌธ์— group by ์ ˆ์ด ์กด์žฌํ•  ๋•Œ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • group by ์ ˆ์„ ํ†ตํ•ด ๊ทธ๋ฃนํ™”๋œ ๊ฒฐ๊ณผ ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์ œํ•œํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
  • ์œ ์˜์ 
    • where ์ ˆ์€ ์ถœ๋ ฅ ๋Œ€์ƒ ํ–‰์„ ์ œํ•œํ•˜๊ณ , having ์ ˆ์€ ๊ทธ๋ฃนํ™”๋œ ๋Œ€์ƒ์„ ์ถœ๋ ฅ์—์„œ ์ œํ•œํ•จ

[04] ๊ทธ๋ฃนํ™”์™€ ๊ด€๋ จ๋œ ์—ฌ๋Ÿฌ ํ•จ์ˆ˜

select [์กฐํšŒํ•  ์—ดn ์ด๋ฆ„]
from [์กฐํšŒํ•  ํ…Œ์ด๋ธ” ์ด๋ฆ„]
where [์กฐํšŒํ•  ํ–‰์„ ์„ ๋ณ„ํ•˜๋Š” ์กฐ๊ฑด์‹]
group by rollup [๊ทธ๋ฃนํ™” ์—ด ์ง€์ •(์—ฌ๋Ÿฌ ๊ฐœ ์ง€์ • ๊ฐ€๋Šฅ)]
select ...
from ...
where ...
group by cube ...
  • rollup, cube
    • ๊ทธ๋ฃนํ™” ๋ฐ์ดํ„ฐ์˜ ํ•ฉ๊ณ„๋ฅผ ํ•จ๊ป˜ ์ถœ๋ ฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ
select ...
from ...
where ...
group by grouping sets ...
  • grouping sets
    • ์—ฌ๋Ÿฌ ๊ทธ๋ฃนํ™” ๋Œ€์ƒ ์—ด์˜ ๊ฒฐ๊ณผ ๊ฐ’์„ ๊ฐ๊ฐ ๊ฐ™์€ ์ˆ˜์ค€์œผ๋กœ ์ถœ๋ ฅ
select ...
    grouping [group by ์ ˆ์— rollup ๋˜๋Š” cube์— ๋ช…์‹œํ•œ ๊ทธ๋ฃนํ™” ํ•  ์—ด ์ด๋ฆ„]
from ...
where ...
group by rollup or cube ...
  • grouping
    • ํ˜„์žฌ ๊ฒฐ๊ณผ๊ฐ€ ๊ทธ๋ฃนํ™” ๋Œ€์ƒ ์—ด์˜ ๊ตฌ๋ฃนํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง„ ์ƒํƒœ์˜ ์ง‘๊ณ„์ธ์ง€ ์—ฌ๋ถ€๋ฅผ ์ถœ๋ ฅ
select ...
    grouping_id [๊ทธ๋ฃนํ™” ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ์—ด(์—ฌ๋Ÿฌ ๊ฐœ ์ง€์ • ๊ฐ€๋Šฅ)]
from ...
group by rollup or cube ...
  • grouping_id
    • grouping ํ•จ์ˆ˜์ฒ˜๋Ÿผ ํŠน์ • ์—ด์˜ ๊ทธ๋ฃนํ™” ์—ฌ๋ถ€๋ฅผ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฒ€์‚ฌํ•  ์—ด์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Œ
select ...
    listagg([๋‚˜์—ดํ•  ์—ด(ํ•„์ˆ˜)], [๊ฐ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ถ„ํ•˜๋Š” ๊ตฌ๋ถ„์ž(์„ ํƒ)])
    within group(order by ๋‚˜์—ดํ•  ์—ด์˜ ์ •๋ ฌ ๊ธฐ์ค€ ์—ด(์„ ํƒ))
from ...
where ...
  • listagg ~ within group
    • ๊ทธ๋ฃนํ™” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์˜ ์—ด์— ๊ฐ€๋กœ๋กœ ๋‚˜์—ดํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ

  • pivot/unpivot
    • ํ–‰/์—ด ๋ฐ”๊พธ์–ด ์ถœ๋ ฅ
728x90
๋ฐ˜์‘ํ˜•

'Development Study' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Lecture] DataBase - Day 9  (1) 2023.12.29
[Lecture] DataBase - Day 6~8  (1) 2023.12.29
[Lecture] DataBase - Day 4  (0) 2023.12.29
[Lecture] DataBase - Day 3  (1) 2023.12.29
[Lecture] DataBase - Day 2  (0) 2023.12.29