[TIL 01/23_์‚ฌ์ „์บ ํ”„ 9์ผ์ฐจ] SQL ๊ธฐ์ดˆ ๋ฌธ๋ฒ•

2025. 1. 23. 13:48ยทToday I Learned

ใ€€์˜ค๋Š˜ ํ•™์Šต ์š”์•ฝใ€€

1. ๊ฐœ์ธ ๊ณต๋ถ€

  • Spring ์‚ฌ์ „์บ ํ”„ ํ€˜์ŠคํŠธ ์ง„ํ–‰ (4๊ฐœ)
    • Lv1. ๋ฐ์ดํ„ฐ ์† ๊น€์„œ๋ฐฉ ์ฐพ๊ธฐ
    • Lv2. ๋‚ ์งœ๋ณ„ ํš๋“ํฌ์ธํŠธ ์กฐํšŒํ•˜๊ธฐ
      ์†Œ์ˆ˜์  ์ž๋ฆฌ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” round()
    • Lv3. ์ด์šฉ์ž์˜ ํฌ์ธํŠธ ์กฐํšŒํ•˜๊ธฐ
    • Lv4. ๋‹จ๊ณจ ๊ณ ๊ฐ๋‹˜ ์ฐพ๊ธฐ
      Joinํ•  ๋•Œ ๊ธฐ์ค€์ด ๋˜๋Š” ํ…Œ์ด๋ธ”์— nulll์ด ์žˆ๋‹ค๋ฉด..

      Where์ ˆ์— ๊ทธ๋ฃนํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Having()

ใ€€ํ•™์Šต ๋‚ด์šฉ ์ •๋ฆฌใ€€

1. ํ•จ์ˆ˜๋ž€ ๋ฌด์—‡์ธ๊ฐ€

  • ํ•จ์ˆ˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ž…๋ ฅ๊ฐ’์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ, ๋ฐด๋”์—์„œ ์ œ๊ณตํ•˜๋Š” ๋‚ด์žฅํ•จ์ˆ˜(Built-in Function)์™€ ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์„ฑํ•˜๋Š” ์‚ฌ์šฉ์ž ์ •์˜ํ•จ์ˆ˜(UserDefined Funcion)์œผ๋กœ ๊ตฌ๋ถ„๋œ๋‹ค.
  • ๋‚ด์žฅํ•จ์ˆ˜์˜ ๊ตฌ๋ถ„
    • ๋‹จ์ผ ํ–‰ ํ•จ์ˆ˜(Single-Row Function), ๋‹จ์ผ ํ–‰ ๊ฐ’์„ ์ž…๋ ฅํ•˜์—ฌ ๋‹จ์ผ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
      : ๋ฌธ์žํ˜• ํ•จ์ˆ˜ / ์ˆซ์žํ˜• ํ•จ์ˆ˜ / ๋‚ ์งœํ˜• ํ•จ์ˆ˜ / ํ˜• ๋ณ€ํ™˜ ํ•จ์ˆ˜ / NULL ๊ด€๋ จ ํ•จ์ˆ˜
    • ๋‹ค์ค‘ ํ–‰ ํ•จ์ˆ˜ (Muli-Row Function), ๋‹ค์ค‘ ํ–‰ ๊ฐ’์„ ์ž…๋ ฅํ•˜์—ฌ ๋‹จ์ผ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
      : ์ง‘๊ณ„ ํ•จ์ˆ˜, ๊ทธ๋ฃน ํ•จ์ˆ˜, ์œˆ๋„์šฐ ํ•จ์ˆ˜

 

 

2. ์†Œ์ˆ˜์  ์ž๋ฆฟ์ˆ˜๋ฅผ ์ง€์ •ํ•˜๋Š” ํ•จ์ˆ˜ : Round()

  • Round(๊ฐ’, ์ž๋ฆฟ์ˆ˜)
#์ž๋ฆฟ์ˆ˜ ๋ฏธํ‘œ๊ธฐ ๋˜๋Š” 0
Round(1234.56) => 1235
Round(1234.12) => 1234
Round(1234.56,0) => 1235

#์ž๋ฆฟ์ˆ˜๊ฐ€ ์–‘์ˆ˜์ผ ๋•Œ (์†Œ์ˆ˜์  ๋‹จ์œ„๋ณ„ ๋ฐ˜์˜ฌ๋ฆผ)
Round(12.345,1) => 12.3
Round(12.345,2) => 12.35
Round(12.345,3) => 12.345

#์ž๋ฆฟ์ˆ˜๊ฐ€ ์Œ์ˆ˜์ผ ๋•Œ (์ •์ˆ˜ ๋‹จ์œ„๋ณ„ ๋ฐ˜์˜ฌ๋ฆผ)
Round(1234.56, -1) => 1230
Round(1234.56, -2) => 1200
Round(1234.56, -3) => 1000

 

 

3. Joinํ•  ๋•Œ ๊ธฐ์ค€์ด ๋˜๋Š” ํ…Œ์ด๋ธ”์— nulll์ด ์žˆ๋‹ค๋ฉด

  • INNER JOIN : ๊ธฐ์ค€ ํ…Œ์ด๋ธ”์˜ ๊ฐ’์ด null์ธ ๊ฒฝ์šฐ๋Š” ๊ฐ€์ ธ์˜ค์ง€ ์•Š๋Š”๋‹ค. (๊ณตํ†ต์œผ๋กœ ๊ฐ’์ด ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๊ฐ€์ ธ์˜ด)
  • LEFT JOIN : ๊ธฐ์ค€ ํ…Œ์ด๋ธ”์˜ ๊ฐ’์ด null์ธ ๊ฒฝ์šฐ๋„ ๊ฐ€์ ธ์˜จ๋‹ค.

 


4. Where์ ˆ์— ๊ทธ๋ฃนํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด Having()

  • Group by ์ ˆ์—์„œ ๋งŒ๋“ค์–ด์ง„ Group์— ๋Œ€ํ•ด ์กฐ๊ฑด์„ ๊ฑฐ๋Š” ๊ฒƒ์ด๋‹ค.
  • ๊ธฐ๋ณธ ๊ตฌ์กฐ :
    Select
    From
    [Where] ์ผ๋ฐ˜ ์กฐ๊ฑด
    [Group by]
    [Having] ๊ทธ๋ฃนํ•จ์ˆ˜ ํฌํ•จ ์กฐ
    [Order by]

ใ€€๋ฉ”๋ชจใ€€

1. ๊ฐ’์ด ์—†๋Š” ๋ฐ์ดํ„ฐ(null)๋„ ๊ฒฐ๊ณผ๊ฐ’์ด ์žˆ์–ด์•ผ ํ•œ๋‹ค๋ฉด COALESCE()๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜ํ™˜๊ฐ’ ๋งŒ๋“ค์–ด ๋„ฃ๊ธฐ

2. Lv4. ๋‹จ๊ณจ๊ณ ๊ฐ๋‹˜ ์ฐพ๊ธฐ 2๋ฒˆ๋ฌธ์ œ ์–ด๋ ค์› ๋‹ค. ๊ฐ™์€ ํ…Œ์ด๋ธ”์„ ๋‘๋ฒˆ ์—ฐ๊ฒฐํ•˜๋Š” ๊ฒŒ ์ดํ•ด๊ฐ€ ๋ ๋“ฏ๋ง๋“ฏ..
ใ€€์˜ˆ์ œ ํ’€๋ฉด์„œ ์™„๋ฒฝํ•˜๊ฒŒ ์ดํ•ด๋˜๋ฉด ์ •๋ฆฌ๊ธ€์„ ์จ์•ผ๊ฒ ๋‹ค. Having, Max, ์„œ๋ธŒ์ฟผ๋ฆฌ ์ด ์„ธ๊ฐ€์ง€๋ฅผ ์ด๋ž˜์ €๋ž˜ ์—ฎ๋Š”๋‹ค.. ํ—ท๊ฐˆ๋ฆฐ๋‹ค!


ใ€€๋‹ค์Œ ๊ณต๋ถ€ ๊ณ„ํšใ€€

1. ์Šคํ”„๋ง ์‚ฌ์ „์บ ํ”„ ๋‹ฌ๋ฆฌ๊ธฐ๋ฐ˜ ๋‚จ์€ ํ€˜์ŠคํŠธ 3๊ฐœ ํ’€๊ธฐ

2. SQL ๋ถ€์กฑํ•œ ๋ถ€๋ถ„ ๋ณต์Šตํ•˜๊ธฐ..

 

'Today I Learned' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL 01/31_์‚ฌ์ „์บ ํ”„ 11์ผ์ฐจ] HTML/CSS ๊ธฐ์ดˆ  (0) 2025.01.31
[TIL 01/24_์‚ฌ์ „์บ ํ”„ 10์ผ์ฐจ] SQL ๊ธฐ์ดˆ ๋ฌธ๋ฒ•  (0) 2025.01.24
[TIL 01/22_์‚ฌ์ „์บ ํ”„ 8์ผ์ฐจ] SQL ๊ธฐ์ดˆ ๋ฌธ๋ฒ•  (0) 2025.01.22
[TIL 01/21_์‚ฌ์ „์บ ํ”„ 7์ผ์ฐจ] SQL ๊ธฐ์ดˆ ๋ฌธ๋ฒ•  (0) 2025.01.21
[TIL 01/20_์‚ฌ์ „์บ ํ”„ 6์ผ์ฐจ] SQL ๊ธฐ์ดˆ ๋ฌธ๋ฒ•  (0) 2025.01.20
'Today I Learned' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [TIL 01/31_์‚ฌ์ „์บ ํ”„ 11์ผ์ฐจ] HTML/CSS ๊ธฐ์ดˆ
  • [TIL 01/24_์‚ฌ์ „์บ ํ”„ 10์ผ์ฐจ] SQL ๊ธฐ์ดˆ ๋ฌธ๋ฒ•
  • [TIL 01/22_์‚ฌ์ „์บ ํ”„ 8์ผ์ฐจ] SQL ๊ธฐ์ดˆ ๋ฌธ๋ฒ•
  • [TIL 01/21_์‚ฌ์ „์บ ํ”„ 7์ผ์ฐจ] SQL ๊ธฐ์ดˆ ๋ฌธ๋ฒ•
aggeeeee
aggeeeee
ใ€€ φ(๏ผŽ๏ผŽ;)ใ€€๐Ÿ”œใ€€\_ใธ(โ–ญ-โ–ญ)โœจ
  • aggeeeee
    ๐Ÿฅ” ๋‹˜์˜ ๋ธ”๋กœ๊ทธ
    aggeeeee
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (155)
      • Today I Learned (25)
      • ๋‚ด์ผ๋ฐฐ์›€์บ ํ”„ (115)
        • ๋ณธ์บ ํ”„ ๊ณผ์ œ (17)
        • ์‚ฌ์ „์บ ํ”„ ๊ณผ์ œ (23)
        • SQL ์ฝ”๋“œ์นดํƒ€ (44)
        • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ฝ”๋“œ์นดํƒ€ (31)
      • ๐Ÿ’ป๐Ÿš€ (15)
        • Java (7)
        • Git & GitHub (1)
        • CS (4)
        • Spring & SpringBoot (3)
  • ๋งํฌ

  • ์ตœ๊ทผ ๊ธ€

  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
aggeeeee
[TIL 01/23_์‚ฌ์ „์บ ํ”„ 9์ผ์ฐจ] SQL ๊ธฐ์ดˆ ๋ฌธ๋ฒ•
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”