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
Comments