[SQLD] Chapter4 SQL ํ™œ์šฉ(SQLD)

Updated:

Categories:

Tags: ,

๐Ÿ“Œ ๊ฐœ์ธ์ ์ธ ๊ณต๊ฐ„์œผ๋กœ ๊ณต๋ถ€๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๋ณต์Šตํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค.
์ •ํ™•ํ•˜์ง€ ์•Š์€ ์ •๋ณด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋‹ˆ ์ฐธ๊ณ ๋ฐ”๋ž๋‹ˆ๋‹ค :๐Ÿ˜ธ
[ํ‹€๋ฆฐ ๋‚ด์šฉ์€ ๋Œ“๊ธ€๋กœ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๋ณต๋ฐ›์œผ์‹ค๊ฑฐ์—์š”]

Chapter4 SQL ํ™œ์šฉ

์„œ๋ธŒ์ฟผ๋ฆฌ

์„œ๋ธŒ์ฟผ๋ฆฌ

SQL ๋ฌธ์—์„œ ํ•จ์ˆ˜๊ฐ€ ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์œ„์น˜์— ๋˜ ๋‹ค๋ฅธ ๋…๋ฆฝ์ ์ธ SQL ๋ฌธ์„ ๋„ฃ๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ด๋ฅผ ์„œ๋ธŒ ์ฟผ๋ฆฌ๋ผ๊ณ  ํ•œ๋‹ค.

  1. ์„œ๋ธŒ์ฟผ๋ฆฌ ์œ„์น˜์— ๋”ฐ๋ฅธ ๋ถ„๋ฅ˜

    ์ข…๋ฅ˜ ์„œ๋ธŒ์ฟผ๋ฆฌ๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ์œ„์น˜ ํŠน์ง•
    ์Šค์นผ๋ผ ์„œ๋ธŒ์ฟผ๋ฆฌ SELECT ๋ฌธ์˜ ์ปฌ๋Ÿผ ์ž…๋ ฅ ์œ„์น˜ ๋ฐ˜ํ™˜์€ ํ•˜๋‚˜์˜ ์ปฌ๋Ÿผ๋งŒ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค.
    ์ธ๋ผ์ธ ๋ทฐ FROM ์ ˆ์˜ ํ…Œ์ด๋ธ” ์ž…๋ ฅ ์œ„์น˜ ๋ณต์žกํ•œ ์ฟผ๋ฆฌ๋ฅผ ๋‹จ๊ณ„์ ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ,
    ํ…Œ์ด๋ธ”์˜ ์ผ๋ถ€๋ถ„๋งŒ ๋ถˆ๋Ÿฌ์™€ ๋น„๊ตํšŸ์ˆ˜๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค. ย  ย 
    ์ค‘์ฒฉ ์„œ๋ธŒ์ฟผ๋ฆฌ WHERE, HAVING ์ ˆ์˜ ์ปฌ๋Ÿผ ๋˜๋Š” ํ…Œ์ด๋ธ” ์ž…๋ ฅ ์œ„์น˜ ๋‹ค์–‘ํ•œ ๋ฐ˜ํ™˜๊ฐ’์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋‹ค.
    • ์ค‘์ฒฉ ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ๋ฐ˜ํ™˜ ๊ฐ’ ์œ ํ˜•

      ๋ฐ˜ํ™˜ ๊ฐ’ ์œ ํ˜• ์„ค๋ช…
      ๋‹จ์ผํ–‰ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ’์ด ๋‹จ์ผํ–‰, ๋‹จ์ผํ–‰ ๋น„๊ต์—ฐ์‚ฐ์ž์˜ ์—ฐ์‚ฐ๋Œ€์ƒ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
      ๋‹ค์ค‘ํ–‰ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ’์ด ๋‹ค์ค‘ ํ–‰, ๋น„๊ต์—ฐ์‚ฐ์ž์˜ ์—ฐ์‚ฐ ๋Œ€์ƒ์œผ๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
      ๋‹ค์ค‘์ปฌ๋Ÿผ ๋ฐ˜ํ™˜๋˜๋Š” ๊ฐ’์ด ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ ์ฆ‰ ๋ฒกํ„ฐ์ธ ๊ฒฝ์šฐ , ์Šค์นผ๋ผ ์„œ๋ธŒ์ฟผ๋ฆฌ์™€ ๋‹ฌ๋ฆฌ ๋ฐ˜ํ™˜ ๊ฐ’์ด ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ์„ ๊ฐ€์ง„ ํ…Œ์ด๋ธ” ํ˜•ํƒœ
  2. ๋ฉ”์ธ์ฟผ๋ฆฌ์˜ ์นผ๋Ÿผ ์‚ฌ์šฉ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋‚˜๋‰œ๋‹ค.

    ์ข…๋ฅ˜ ์„ค๋ช…
    ์—ฐ๊ด€ ์„œ๋ธŒ์ฟผ๋ฆฌ ๋ฉ”์ธ์ฟผ๋ฆฌ์˜ ์นผ๋Ÿผ์„ ์„œ๋ธŒ์ฟผ๋ฆฌ์—์„œ ์‚ฌ์šฉ
    ๋น„์—ฐ๊ด€ ์„œ๋ธŒ์ฟผ๋ฆฌ ๋ฉ”์ธ์ฟผ๋ฆฌ์˜ ์นผ๋Ÿผ์„ ์„œ๋ธŒ์ฟผ๋ฆฌ์—์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ
  3. ์„œ๋ธŒ์ฟผ๋ฆฌ ํŠน์ง•

    1. ์„œ๋ธŒ์ฟผ๋ฆฌ์—์„œ๋Š” ๋ฉ”์ธ์ฟผ๋ฆฌ์˜ ์ปฌ๋Ÿผ์„ ๋ชจ๋‘ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
    2. ๋ฉ”์ธ์ฟผ๋ฆฌ์—์„œ๋Š” ์„œ๋ธŒ์ฟผ๋ฆฌ์˜ ์ปฌ๋Ÿผ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.
    3. ์„œ๋ธŒ์ฟผ๋ฆฌ๋Š” ๊ด„ํ˜ธ๋กœ ๊ฐ์‹ธ์„œ ์‚ฌ์šฉํ•œ๋‹ค.
    4. ์„œ๋ธŒ์ฟผ๋ฆฌ์—์„œ๋Š” ORDER BY ์ ˆ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค.

๋ทฐ

์ธ๋ผ์ธ ๋ทฐ์˜ ๊ฒฝ์šฐ ๋ฐ˜ํ™˜๊ฒฐ๊ณผ๊ฐ€ ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์ด ๋œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ํŠน๋ณ„ํ•œ ์ด๋ฆ„์ด ์—†๊ณ  ๋ฉ”์ธ์ฟผ๋ฆฌ ์•ˆ์— SELECT ๋ฌธ์˜ ํ˜•ํƒœ๋กœ ๋“ค์–ด๊ฐ€๋Š”๋ฐ ์•„์˜ˆ ๋ณ„๋„๋กœ ์ด๋ฆ„์„ ๋ถ™์—ฌ์„œ DBMS์— ๋“ฑ๋กํ•ด๋†“๊ณ  ๋งˆ์น˜ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ๋งŒ๋“  ๊ฒƒ์„ ๋ทฐ๋ผ๊ณ  ํ•œ๋‹ค.

  1. ํ…Œ์ด๋ธ”๊ณผ ๋ทฐ

    ๊ตฌ๋ถ„ ํ…Œ์ด๋ธ” ๋ทฐ
    ๊ฐœ๋… ์ •์˜๋œ ์Šคํ‚ค๋งˆ์— ๋”ฐ๋ผ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ƒ์„ฑ ์‹ค์ œ์˜ ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐํ•˜์—ฌ ์ƒ์„ฑํ•˜๋Š” ๋…ผ๋ฆฌ์ ์ธ ๊ฐ€์ƒ์˜ ํ…Œ์ด๋ธ”
    ๋ฐ์ดํ„ฐ ์ €์žฅ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ๋””์Šคํฌ์— ์ €์žฅ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์žˆ์ง€ ์•Š์Œ
    ์ƒ์„ฑ ๋ฐฉ์‹ ์ •์ ์œผ๋กœ ์ƒ์„ฑ ๋™์ ์œผ๋กœ ์ƒ์„ฑ
    ์ธ๋ฑ์Šค ์ƒ์„ฑ ์ž์‹ ๋งŒ์˜ ์ธ๋ฑ์Šค ์ƒ์„ฑ ๊ฐ€๋Šฅ ์ž์‹ ๋งŒ์˜ ์ธ๋ฑ์Šค ์ƒ์„ฑ ๋ถˆ๊ฐ€๋Šฅ
    ์‚ฝ์ž…/์ˆ˜์ •/์‚ญ์ œ ์ œ์•ฝ ์—†์Œ ์ œ์•ฝ ์žˆ์Œ
  2. ๋ทฐ์˜ ํŠน์ง•

    ํŠน์ง• ์„ค๋ช…
    ํŽธ๋ฆฌ์„ฑ ๋ณต์žกํ•˜๊ณ  ๊ธด ์ฟผ๋ฆฌ๋ฅผ ๋ทฐ๋กœ ๋งŒ๋“ค์–ด ๋‘๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ์ฟผ๋ฆฌ๋ฅผ ๋‹จ์ˆœํ•˜๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
    ๋ณด์•ˆ์„ฑ ์›๋ž˜์˜ ํ…Œ์ด๋ธ”์—์„œ ์™ธ๋ถ€์— ๋…ธ์ถœํ•˜๋ฉฐ ์•ˆ๋˜๋Š” ์ปฌ๋Ÿผ์„ ์ œ์™ธํ•˜๊ณ  ๋ทฐ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋‹ค.
    ๋…๋ฆฝ์„ฑ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์กฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ๋ทฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ทฐ๋ฅผ ํ†ตํ•ด ์ ‘๊ทผํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.

์ง‘ํ•ฉ์—ฐ์‚ฐ์ž

ํŠน์ •ํ•œ ๊ธฐ์ค€ ํ‚ค ์—†์ด ๋‘ ํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ๋“ค์— ๋Œ€ํ•ด์„œ ํ•ฉ์ง‘ํ•ฉ๊ณผ ๊ต์ง‘ํ•ฉ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋ฏ€๋กœ ๋‘ ํ…Œ์ด๋ธ” ์นผ๋Ÿผ ๊ตฌ์„ฑ, ์ฆ‰ ์Šคํ‚ค๋งˆ๊ฐ€ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค.

UNION ALL/ UNION

  1. UNION: ์Šคํ‚ค๋งˆ๊ฐ€ ๊ฐ™์€ ๋‘ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ํ•ฉ์ง‘ํ•ฉ, ์ค‘๋ณต๋œ ๊ฐœ์ˆ˜๋ฅผ ํ•œ ๋ฒˆ๋งŒ ํฌํ•จ
  2. UNIONALL : ์ค‘๋ณต๋œ ๊ฐœ์ˆ˜๋งŒํผ ํฌํ•จ

INTERSECT

๊ต์ง‘ํ•ฉ, ๋‘ ํ…Œ์ด๋ธ”์— ๊ณตํ†ต์ ์œผ๋กœ ํฌํ•จ๋œ ๋ ˆ์ฝ”๋“œ๋งŒ ํฌํ•จ

MINUS/EXCEPT

์ฐจ์ง‘ํ•ฉ ์ˆ˜ํ–‰, ๋‘ํ…Œ์ด๋ธ”์—์„œ ๊ณตํ†ต์œผ๋กœ ํฌํ•จ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ œ์™ธ์‹œํ‚จ ๊ฒฐ๊ณผ

๊ทธ๋ฃนํ•จ์ˆ˜

GROUP BY์ ˆ์— ๋”ฐ๋ฅธ ๊ฒฐ๊ณผ์— ๋Œ€ํ•ด์„œ ๊ทธ๋ฃน ๋ณ„๋กœ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•จ์ˆ˜

ROLLUP

GROUP BY์ ˆ์— ๋“ค์–ด๊ฐ€๋Š” ์ปฌ๋Ÿผ์„ ๋Œ€์ƒ์œผ๋กœ ํ•˜์œ„ ๊ทธ๋ฃนํ•‘์„ ์ˆ˜ํ–‰ํ•˜๋Š” ํ•จ์ˆ˜

์˜ˆ๋ฅผ ๋“ค์–ด GROUP BY ROLLUP (๋‚ ์งœ)์„ ํ•  ๊ฒฝ์šฐ ๋‚ ์งœ๋ฅผ ๋จผ์ € ๊ทธ๋ฃนํ•‘ํ•˜๊ณ 

GROUP BY ROLLUP (๋‚ ์งœ, ์ด๋ฆ„)์„ ํ•  ๊ฒฝ์šฐ (๋‚ ์งœ, ์ด๋ฆ„) โ†’ (๋‚ ์งœ) โ†’ (์ „์ฒด) ์ˆœ์œผ๋กœ ๋ฌถ์–ด์ค€๋‹ค.

CUBE

ROLL UP ๊ณผ ๋น„์Šทํ•˜์ง€๋งŒ ROLL UP์ด 1์ฐจ์ ์ธ ํ•˜์œ„ ๊ทธ๋ฃนํ•‘ ์ˆ˜ํ–‰ํ•˜๋Š”๋ฐ ๋ฐ˜ํ•˜์—ฌ ์กฐํ•ฉ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฝ์šฐ๋กœ ๊ทธ๋ฃนํ•‘์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด GROUP BY CUBE(๋‚ ์งœ, ์ด๋ฆ„)์˜ ๊ฒฝ์šฐ (๋‚ ์งœ, ์ด๋ฆ„) โ†’ (๋‚ ์งœ) โ†’ (์ด๋ฆ„) โ†’ (์ „์ฒด) ์ˆœ์„œ๋กœ ํ•˜์œ„ ๊ทธ๋ฃน์„ ๋ฌถ์–ด์ค€๋‹ค.

GROUPING SETS

๊ทธ๋ฃนํ•‘ ํ•  ๋Œ€์ƒ์„ ์ง€์ •ํ•˜๋Š” ํ•จ์ˆ˜, ์ž…๋ ฅ๋œ ์ธ์ž์— ๋Œ€ํ•ด์„œ๋งŒ ์†Œ๊ณ„๋ฅผ ๊ตฌํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

GROUPING

ROLLUP, CUBE, GROUPING SETS๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ๊ณ„์— ํ•ด๋‹นํ•˜๋Š” ๊ฒฐ๊ณผ ํ–‰๊ณผ ๊ทธ๋ ‡์ง€ ์•Š์€ ํ–‰์„ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค. ์†Œ๊ณ„์— ํ•ด๋‹นํ•˜๋Š” ๊ฒฐ๊ณผ ํ–‰์˜ ๊ฒฝ์šฐ 1์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ 0์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

GROUPING ํ•จ์ˆ˜์™€ CASE ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์†Œ๊ณ„๋‚˜ ์ด๊ณ„๋ฅผ ํ‘œ์‹œํ•˜๋Š” ํ–‰์— ๋Œ€ํ•ด์„œ ๊ทธ ์˜๋ฏธ์— ๋งž๋Š” ํ…์ŠคํŠธ๋ฅผ ๊ฐ’์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

1
2
3
4
SELECT
CASE GROUPING ์ž…์‚ฌ์—ฐ๋„
WHEN 1 THEN '์†Œ๊ณ„' ELSE TO_CHAR ์ž…์‚ฌ์—ฐ๋„
END AS ์—ฐ๋„

์œˆ๋„์šฐํ•จ์ˆ˜

ํ–‰๊ณผ ํ–‰ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์—ฐ์‚ฐ์„ ์‰ฝ๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•œ ํ•จ์ˆ˜

GROUP BY ์—ฐ์‚ฐ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ GROUP BY ์—ฐ์‚ฐ์€ ๊ฐ ํ–‰์„ ๋Œ€์ƒ์œผ๋กœ ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•œ ๋‹ค์Œ ์ƒˆ๋กœ์šด ๊ตฌ์„ฑ์„ ๋งŒ๋“œ๋Š”๋ฐ ๋น„ํ•˜์—ฌ, ์œˆ๋„์šฐ ํ•จ์ˆ˜๋Š” ๊ฐ ํ–‰์˜ ๊ธฐ์กด ๊ตฌ์„ฑ์„ ์œ ์ง€ํ•œ ์ƒํƒœ๋กœ ํ•ด๋‹น ํ–‰์— ๋Œ€ํ•ด์„œ ์ƒˆ๋กœ์šด ๊ฐ’์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ ์•„๋‹ˆ๋ฉด ๊ธฐ์กด์˜ ๊ฐ’์„ ๋ณ€๊ฒฝํ•œ๋‹ค๋Š” ์ ์—์„œ ๋‹ค๋ฅด๋‹ค.

์ˆœ์œ„ ํ•จ์ˆ˜

ํ•จ์ˆ˜์ด๋ฆ„ ์„ค๋ช… ์˜ˆ
RANK ๋™์ผ ์ˆœ์œ„๋Š” ๊ฐ™์€ ์ˆœ์œ„๋ฅผ ๊ฐ€์ง„๋‹ค. ์ˆœ์œ„ ๊ฐ’์€ ์•ž ์ˆœ์œ„๊นŒ์ง€์˜ ๋ˆ„์ ๊ฐœ์ˆ˜ +1์ด ๋œ๋‹ค. 1, 2, 2, 4, 4, 4, 7, โ€ฆ
DENSE_RANK ๋™์ผ ์ˆœ์œ„๋Š” ๊ฐ™์€ ์ˆœ์œ„ ๊ฐ’์„ ๊ฐ€์ง„๋‹ค. ์ˆœ์œ„๊ฐ’์€ ๋‹จ์ˆœํ•˜๊ฒŒ ์•ž ์ˆœ์œ„ +1 ์ด๋‹ค. 1, 2, 2, 3, 3, 3, 4, โ€ฆ
ROW_NUMBER ๋™์ผ ์ˆœ์œ„๋ผ๋„ ๊ฐ๊ฐ์˜ ํ–‰์ด ๊ณ ์œ ํ•œ ์ˆœ์œ„๊ฐ’์„ ๊ฐ€์ง„๋‹ค. 1, 2, 3, 4, 5, 6, 7, โ€ฆ

์ง‘๊ณ„ ํ•จ์ˆ˜

OVER์ ˆ์„ ์‚ฌ์šฉํ•ด์„œ ํŒŒํ‹ฐ์…˜๋ณ„๋กœ ์ง‘๊ณ„ํ•˜๊ฑฐ๋‚˜ ๋ˆ„์  ์ง‘๊ณ„๋ฅผ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•จ์ˆ˜ ์ด๋ฆ„ ์„ค๋ช…
COUNT ๊ฐ’์ด Null ์ธ ํ–‰์„ ์ œ์™ธํ•œ ํ–‰์˜ ๊ฐœ์ˆ˜๋กœ ํŒŒํ‹ฐ์…˜ ๋ณ„๋กœ ์ง‘๊ณ„ํ•˜๊ฑฐ๋‚˜ ๋ˆ„์  ์ง‘๊ณ„๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
SUM ์ž…๋ ฅ๋œ ์ปฌ๋Ÿผ์— ๋Œ€ํ•ด ํŒŒํ‹ฐ์…˜ ๋ณ„ ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•˜๊ฑฐ๋‚˜ ๋ˆ„์  ํ•ฉ๊ณ„๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
AVG ์ž…๋ ฅ๋œ ์ปฌ๋Ÿผ์— ๋Œ€ํ•ด ํŒŒํ‹ฐ์…˜ ๋ณ„ ํ‰๊ท ์„ ๊ตฌํ•˜๊ฑฐ๋‚˜ ๋ˆ„์  ํ‰๊ท ์„ ๊ณ—๋‚˜ํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
MIN ์ž…๋ ฅ๋œ ์ปฌ๋Ÿผ์— ๋Œ€ํ•ด ํŒŒํ‹ฐ์…˜ ๋ณ„ ์ตœ์†Ÿ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
MAX ์ž…๋ ฅ๋œ ์ปฌ๋Ÿผ์— ๋Œ€ํ•ด ํŒŒํ‹ฐ์…˜ ๋ณ„ ์ตœ๋Œ“๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

ํ–‰์ˆœ์„œํ•จ์ˆ˜

ํ•จ์ˆ˜ ์„ค๋ช…
FIRST_VALUE ํŒŒํ‹ฐ์…˜ ๋ณ„๋กœ ๊ทธ๋ฃนํ•‘ ํ•˜์—ฌ ๊ฐ€์žฅ ์ฒ˜์Œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
LAST_VALUE ํŒŒํ‹ฐ์…˜ ๋ณ„๋กœ ๊ทธ๋ฃนํ•‘ ํ•˜์—ฌ ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
LAG ์ž…๋ ฅ๋œ ์ธ์ž์˜ ๊ฐ’๋งŒํผ ์ด์ „ ํ–‰์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
LEAD ์ž…๋ ฅ๋œ ์ธ์ž์˜ ๊ฐ’๋งŒํผ ์ดํ›„ ํ–‰์˜ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

๋น„์œจํ•จ์ˆ˜

ํŒŒํ‹ฐ์…˜ ๋ณ„๋กœ ํ•ฉ๊ณ„๋ฅผ ๊ตฌํ•œ ํ›„ ๊ทธ์— ๋Œ€ํ•œ ๋น„์œจ์„ ๊ตฌํ•˜๋Š” ํ•จ์ˆ˜

| ํ•จ์ˆ˜ | ์„ค๋ช… | | โ€” | โ€” | | CUME_DIST | ํŒŒํ‹ฐ์…˜ ๋ณ„ ํ•ฉ๊ณ„์— ๋Œ€ํ•œ ๋ˆ„์  ๋ฐฑ๋ถ„์œจ์„ ์†Œ์ˆ˜์  ๋‹จ์œ„๋กœ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๋งˆ์ง€๋ง‰ ํ–‰์˜ ๊ฐ’์ด 1์ด๋œ๋‹ค. | | PERCENT_RANK | ํŒŒํ‹ฐ์…˜ ๋ณ„๋กœ ๊ทธ๋ฃนํ•‘ํ•˜์—ฌ ๋ฐฑ๋ถ„์œ„ ์ˆœ์œ„ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ๊ฐ€์žฅ ์ฒซ ํ–‰์ด 0, ๋งˆ์ง€๋ง‰ ํ–‰์ด 1์ด๋œ๋‹ค. | | NTILE | ํŒŒํ‹ฐ์…˜์„ N ๋“ฑ๋ถ„ํ•˜์—ฌ 1๋ถ€ํ„ฐ N๊นŒ์ง€์˜ ๋“ฑ๊ธ‰ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ „์ฒด ๊ฐœ์ˆ˜๋ฅผ N์œผ๋กœ ๋‚˜๋ˆ„๊ณ  ๋‚˜๋จธ์ง€๋ฅผ ์•ž ๋“ฑ๊ธ‰ ์ˆœ์„œ๋กœ 1์”ฉ ๋ฐฐ๋ถ„ํ•˜์—ฌ ๋“ฑ๊ธ‰๋ณ„ ๊ฐœ์ˆ˜๋ฅผ ์ •ํ•œ๋‹ค. ex ) 10๊ฐœ๋ฅผ 4๋“ฑ๊ธ‰์œผ๋กœ ๋‚˜๋ˆ„๋ฉด ๊ฐ ๋“ฑ๊ธ‰๋ณ„ ๊ฐœ์ˆ˜๋Š” 3, 3, 2, 2๊ฐ€ ๋œ๋‹ค | | RATIO_TO_REPORT | ํŒŒํ‹ฐ์…˜ ๋ณ„ ํ•ฉ๊ณ„์— ๋Œ€ํ•œ ๋น„์œจ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค. |

Top N ์ฟผ๋ฆฌ

์ƒ์œ„ N ์ˆœ์œ„ ๊นŒ์ง€๋ฅผ ์ถ”์ถœํ•˜๋Š” ์ฟผ๋ฆฌ

๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆœ์œŒํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

ROWNUM ํ•จ์ˆ˜

  • ROW_NUMBER ํ•จ์ˆ˜์™€ ๋‹ฌ๋ฆฌ ํ˜„์žฌ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ทธ๋Œ€๋กœ ๋‘๊ณ  ๊ฐ ํ–‰์— ์ˆœ์ฐจ์ ์ธ ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์—ฌ์ฃผ๋Š” ํ•จ์ˆ˜์ด๋‹ค.

    1
    2
    3
    
      SELECT ROWNUM, EMPNO, ENAME, SAL
      FROM EMP
      WHERE ROWNUM <= 5;
    
  • ์ฒซ ํ–‰๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ค‘๊ฐ„์„ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๊ฐ’์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์—†๋‹ค๋Š” ์ ์ด๋‹ค. WHERE ์ ˆ์— ROWNUM์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์กฐ๊ฑด์‹์ด FALSE๊ฐ€ ๋˜๋ฉด ์ˆœํšŒ๋ฅผ ๋ฉˆ์ถ”๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด์•ผ ํ•œ๋‹ค.

    1
    2
    3
    4
    5
    
      SELECT ROWNUM, EMPNO, ENAME, SAL
      FROM EMP
      WHERE ROWNUM = 5;
        
      -- ๋“ฑ์‹ ๋น„๊ต๋ฅผ ํ•˜๋ฉด ๊ฒฐ๊ณผ๋ฅผ ๊ฐ€์ ธ์˜ค์ง€ ๋ชปํ•œ๋‹ค. ์กฐ๊ฑด์ด ROWNUM =1 ์ผ๋•Œ ๋ฐ”๋กœ FALSE ๊ฐ€ ๋˜์–ด ๋”์ด์ƒ ์ˆœํšŒํ•˜์ง€ ๋ชปํ•˜๊ณ  ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ
    
  • ORDER BY์™€ ํ•จ๊ป˜ ์‚ฌ์šฉ ์‹œ ์ •๋ ฌ ์ˆ˜ํ–‰ ํ›„ ๋‹จ์ˆœํ•˜๊ฒŒ ๊ฐ ํ–‰์— ๋ฒˆํ˜ธ๋ฅผ ๋ถ™์ด๊ณ  ์‹ถ์–ด์„œ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋Š” ์ •๋ ฌ ์ˆ˜ํ–‰ ์ „์— ๋ฒˆํ˜ธ๊ฐ€ ๋ถ™์—ฌ์ง€๋ฏ€๋กœ ๋ฒˆํ˜ธ๊ฐ€ ์—‰์ผœ์„œ ์ถœ๋ ฅ๋œ๋‹ค โ†’ ์ด ๋•Œ๋Š” ROW_NUMBER๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๊ฒฐํ•ด์•ผ ํ•œ๋‹ค.

์œˆ๋„์šฐ ํ•จ์ˆ˜์˜ ์ˆœ์œ„ ํ•จ์ˆ˜

์ˆœ์œ„ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด์„œ TOP N ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

1
2
3
SELECT *
FROM (SELECT RANK () OVER (ORDER BY SAL DESC) AS RANK, EMPNO, ENAME, SAL FROM EMP)
WHERE RANK <= 5 ;

๊ณ„์ธตํ˜• ์งˆ์˜์™€ ์…€ํ”„์กฐ์ธ

๊ฐ ๋ ˆ์ฝ”๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ๋…ธ๋“œ๊ฐ€ ๋˜๊ณ  ๋…ธ๋“œ์˜ ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•˜์—ฌ ์ผ์ข…์˜ ํŠธ๋ฆฌ๊ตฌ์กฐ์™€ ๊ฐ™์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋ธ๋ง ํ•  ์ˆ˜๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋ฅผ ๊ณ„์ธตํ˜• ๋ชจ๋ธ์ด๋ผ๊ณ  ํ•œ๋‹ค.

๊ณ„์ธตํ˜• ๋ชจ๋ธ์—์„œ ์ƒ์œ„ ๋…ธ๋“œ์—์„œ ํ•˜์œ„๋…ธ๋“œ๋กœ ์—ฐ์‡„์ ์œผ๋กœ ๋ฐ์ดํ„ฐ์— ์ ‘๊ทผํ•ด์„œ ๊ฒฐ๊ณผ๋ฅผ ์กฐํšŒํ•ด์•ผ ํ•  ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ ์ด๋Ÿด ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ๊ณ„์ธตํ˜• ์งˆ์˜์™€ ์…€ํ”„์กฐ์ธ์ด๋‹ค.

๊ณ„์ธตํ˜• ์งˆ์˜

๊ณ„์ธตํ˜• ์งˆ์˜๋Š” ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋Š” ์ปฌ๋Ÿผ์„ ๋Œ€์ƒ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถœ๋ ฅํ•  ๋•Œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŠน๋ณ„ํ•œ ํ‚ค์›Œ๋“œ๋ฅผ ์ œ๊ณตํ•œ๋‹ค.

ํ‚ค์›Œ๋“œ ์„ค๋ช…
LEVEL ์ „์ฒด ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ํ˜„์žฌ์˜ ๋ ˆ๋ฒจ ๋˜๋Š” ๊นŠ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ 1์ด ๋˜๋ฉฐ ํ•œ ๋ ˆ๋ฒจ ๋‚ด๋ ค๊ฐˆ ๋•Œ๋งˆ๋‹ค 1 ์”ฉ ์ฆ๊ฐ€ํ•œ๋‹ค ย 
SYS_CONNECT_BY_PATH ์ตœ์ƒ์œ„ ๋ฃจํŠธ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ํ˜„์žฌ ๋…ธ๋“œ๊นŒ์ง€ ๊ฒฝ๋กœ๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ•จ์ˆ˜
START WITH ๊ฒฝ๋กœ์˜ ์‹œ์ž‘์ด ๋˜๋Š” ๋ฃจํŠธ ๋…ธ๋“œ๊ฐ€ ๋˜๋Š” ์กฐ๊ฑด์„ ์ง€์ •ํ•œ๋‹ค.
CONNECT BY ๋ถ€๋ชจ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ์ž์‹ ๋…ธ๋“œ๋กœ์˜ ์—ฐ๊ฒฐ์„ ์ง€์ •ํ•œ๋‹ค.
CONNECT_BY_ROOT ๋ฃจํŠธ๋…ธ๋“œ์˜ ์ง€์ •๋œ ์ปฌ๋Ÿผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
CONNECT_BY_ISLEAF ๊ฐ€์žฅ ๋ง๋‹จ ๋…ธ๋“œ์ด๋ฉด 1์„ ๋ฐ˜ํ™˜ํ•˜๊ณ  ๊ทธ ์™ธ์—๋Š” 0์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
PRIOR ๋ฐ”๋กœ ์ƒ์œ„์˜ ๋ถ€๋ชจ ๋…ธ๋“œ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
NOCYCLE ์‚ฌ์ดํด ๋ฐœ์ƒ ์ดํ›„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๊ฐœํ•˜์ง€ ์•Š์Œ์œผ๋กœ์จ ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ๋ฐฉ์ง€ํ•œ๋‹ค.
ORDER SIBLINGS BY ORDER BY ์ ˆ์ด ์ „์ฒด๋ฅผ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์— ๋น„ํ•˜์—ฌ ORDER SIBLINGS BY๋Š” ๊ฐ™์€ ๋ ˆ๋ฒจ์˜ ํ˜•์ œ ๋…ธ๋“œ๋ผ๋ฆฌ ์ •๋ ฌํ•œ๋‹ค.
  1. ์ˆœ๋ฐฉํ–ฅ ์ „๊ฐœ

    CONNECT BY PRIOR ์ž์‹ = ๋ถ€๋ชจ

    ์ƒ์œ„ ๋…ธ๋“œ๋กœ ๋ถ€๋ชจ๋ฅผ ์ง€์ •ํ•˜๋ฏ€๋กœ ๋ถ€๋ชจ โ†’ ์ž์‹ ์ˆœ์œผ๋กœ ์ด์–ด์ง€๋Š” ์ˆœ๋ฐฉํ–ฅ ์ „๊ฐœ

  2. ์—ญ๋ฐฉํ–ฅ ์ „๊ฐœ

    CONNECT BY PRIOR ๋ถ€๋ชจ= ์ž์‹

    ์ƒ์œ„ ๋…ธ๋“œ๋กœ ์ž์‹์„ ์ง€์ •ํ•˜๋ฏ€๋กœ ์ž์‹โ†’ ๋ถ€๋ชจ ์ˆœ์œผ๋กœ ์ด์–ด์ง€๋Š” ์ˆœ๋ฐฉํ–ฅ ์ „๊ฐœ

์…€ํ”„์กฐ์ธ

๊ฐ™์€ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด์„œ ์กฐ์ธ์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ ์ด๋Ÿฐ ๊ฒฝ์šฐ๋ฅผ ์…€ํ”„ ์กฐ์ธ์ด๋ผ๊ณ  ํ•œ๋‹ค.

์…€ํ”„ ์กฐ์ธ์„ ํ•˜๋Š” ๊ฒฝ์šฐ๋Š” ๊ณ„์ธต์ ์ธ ๋ถ„๋ฅ˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ์ปฌ๋Ÿผ์„ ๋‹ค๋ฃฐ๋•Œ,

์ƒํ’ˆ๋ถ„๋ฅ˜๋‚˜ ์ฃผ์†Œ ์ฒด๊ณ„, ๋˜๋Š” ํšŒ์‚ฌ์˜ ์กฐ์ง๋„ ๋“ฑ์„ ๋‹ค๋ฃฐ ๋•Œ, ๋ถ€๋ชจ-์ž์‹ ๊ด€๊ณ„์˜ ๋ชจ๋ธ๋ง์„ ํ•œ ๋‹ค์Œ, ์…€ํ”„ ์กฐ์ธ์„ ์‚ฌ์šฉํ•ด์„œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด ์ „์ฒด ๋ถ„๋ฅ˜ ์ฒด๊ณ„๋ฅผ ๊ณ„์ธต์ ์œผ๋กœ ์กฐํšŒํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

๋‹จ, ์…€ํ”„ ์กฐ์ธ์„ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๊ณ„์ธต์˜ ๊นŠ์ด๊ฐ€ ๊นŠ์–ด์งˆ์ˆ˜๋ก ์ฟผ๋ฆฌ๊ฐ€ ๋ฐ˜๋ณต๋˜๊ณ  ๊ธธ์–ด์ง€๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.โ†’ ์ด ๋ฌธ์ œ๋Š” ๊ณ„์ธตํ˜• ์งˆ์˜๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

PIVOT ์ ˆ๊ณผ UNPIVOT์ ˆ

PIVOT : ํ…Œ์ด๋ธ”์˜ ํ–‰๊ณผ ์—ด์„ ์ „ํ™˜ํ•˜์—ฌ ํ…Œ์ด๋ธ”์„ ์žฌ๊ตฌ์„ฑํ•˜๋Š” ๊ฒƒ (ํ•จ์ˆ˜ ์•„๋‹˜)

  1. PIVOT ์ ˆ : ํ–‰์„ ์—ด๋กœ ๋ฐ”๊พผ๋‹ค.
  2. UNPIVON ์ ˆ : ์—ด์„ ํ–‰์œผ๋กœ ๋ฐ”๊พผ๋‹ค.
1
2
3
4
5
6
7
SELECT *
FROM (SELECT E.JOB, D.DNAME 
			FROM EMP E, DEPT D
			WHERE E.DEPTNO = D.DEPTNO)
PIVOT (COUNT(*) FOR DNAME IN ('ACCORDING' AS ACCOUNTING,
															'RESEARCH' AS RESEARCH,
															'SALES' AS SALES));

์ •๊ทœํ‘œํ˜„์‹

์ •๊ทœํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ฌธ์ž์—ด์„ ์ฒ˜๋ฆฌํ•  ๋•Œ, ํŒจํ„ด์— ๊ธฐ๋ฐ˜ํ•˜์—ฌ ๊ฒ€์ƒ‰, ์น˜ํ™˜, ์ถ”์ถœ ๋“ฑ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฉ”ํƒ€ ๋ฌธ์ž์™€ ๋ฆฌํ„ฐ๋Ÿด ๋ฌธ์ž๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ํŒจํ„ด์„ ๋งŒ๋“ค๊ณ  ์ด ํŒจํ„ด์— ๋”ฐ๋ผ ๋ฌธ์ž์—ด์„ ์ฒ˜๋ฆฌ ํ•  ์ˆ˜ ์žˆ์–ด ๋ฌธ์ž์—ด์„ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํšจ์œจ์ ์ด๋‹ค.

๋ฉ”ํƒ€๋ฌธ์ž, ๋ฆฌํ„ฐ๋Ÿด ๋ฌธ์ž

  1. ์ •๊ทœํ‘œํ˜„์‹ ๋ฉ”ํƒ€๋ฌธ์ž

    ๋ฉ”ํƒ€๋ฌธ์ž๋Š” ๋ฌธ์ž ๊ทธ ์ž์‹ ์ด ๊ฐ€์ง„ ์˜๋ฏธ๊ฐ€ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ ์˜๋ฏธ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž๋ฅผ ๋งํ•œ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค์–ด ์ •๊ทœ ํ‘œํ˜„ ์‹์—์„œ ^ ๋ฌธ์ž๋Š” ๋ฌธ์ž ๊ทธ์ž์ฒด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ ์ž…๋ ฅ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘์„ ์˜๋ฏธํ•˜๋Š” ๋ฉ”ํƒ€๋ฌธ์ž์ด๋‹ค.

    ๋ฉ”ํƒ€๋ฌธ์ž ์˜๋ฏธ ์˜ˆ ย  ย 
    \ ๋ฉ”ํƒ€๋ฌธ์ž๋ฅผ ๋ฆฌํ„ฐ๋Ÿด ๋ฌธ์ž๋กœ ํ‘œ์‹œํ•˜๊ฑฐ๋‚˜ ๋ฆฌํ„ฐ๋Ÿด ๋ฌธ์ž์™€ ๊ฒฐํ•ฉํ•˜์—ฌ ์ •ํ•ด์ง„ ๋ฉ”ํƒ€๋ฌธ์ž๋ฅผ ํ‘œ์‹œ \ : \ ย  ย 
    \n : ์ค„๋ฐ”๊ฟˆ(๊ฐœํ–‰) ๋ฌธ์ž ย  ย  ย  ย 
    ^ ๊ฐœํ–‰์œผ๋กœ ๋‚˜๋‰œ ๋ฌธ์ž์—ด์˜ ์‹œ์ž‘์ง€์  ^THE: The ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฌธ์ž์—ด ย  ย 
    $ ๊ฐœํ–‰์œผ๋กœ ๋‚˜๋‰œ ๋ฌธ์ž์—ด์˜ ๋์ง€์  ing$: ing๋กœ ๋๋‚˜๋Š” ๋ฌธ์ž์—ด ย  ย 
    . ์ž„์˜์˜ ํ•œ ๋ฌธ์ž (๊ฐœํ–‰๋ฌธ์ž ์ œ์™ธ) a.b : acb, a-b, a1b, โ€ฆ ย  ย 
    ? ์„ ํ–‰๋ฌธ์ž 0 ๋˜๋Š” 1๊ฐœ no? : n, no ย  ย 
    * ์„ ํ–‰๋ฌธ์ž 0๊ฐœ ์ด์ƒ no* : n, no, noo, nooo, โ€ฆ ย  ย 
    + ์„ ํ–‰๋ฌธ์ž 1๊ฐœ ์ด์ƒ no+: no, noo, nooo โ€ฆ ย  ย 
    ย  ย  ์„ ํƒ์  ์ผ์น˜ a b : a, b
    [ ] ๋Œ€๊ด„ํ˜ธ ์•ˆ์˜ ๋ฌธ์ž๋“ค ์ค‘ ํ•˜๋‚˜์™€ ์ผ์น˜ [abc] : a, b, c ย  ย 
    [-] ์—ฐ์† ๋ฌธ์ž์˜ ๋ฒ”์œ„๋ฅผ ์ง€์ • [a-z]: a๋ถ€ํ„ฐ z๊นŒ์ง€ ์†Œ๋ฌธ์ž ์•ŒํŒŒ๋ฒณ ๋ฌธ์ž ย  ย 
    [^] ๋Œ€๊ด„ํ˜ธ ์•ˆ์˜ ๋ฌธ์ž๋“ค์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋ฌธ์ž๋“ค ์ค‘ ํ•˜๋‚˜์™€ ์ผ์น˜ [^abc]: d, e, z, โ€ฆ (a, b, c๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋ฌธ์ž) ย  ย 
    () ์†Œ๊ด„ํ˜ธ๋กœ ๋ฌถ์ธ ํ‘œํ˜„์‹์„ ํ•œ ๋‹จ์œ„๋กœ ์ทจ๊ธ‰ (ab) : ab ย  ย 
  2. ์ •๊ทœํ‘œํ˜„์‹ ๋ฆฌํ„ฐ๋Ÿด๋ฌธ์ž

    ๋ฌธ์ž ๊ทธ ์ž์ฒด๊ฐ€ ๊ฐ€์ง„ ์˜๋ฏธ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฌธ์ž.

    ์ •๊ทœํ‘œํ˜„์‹์—์„œ ํŒจํ„ด ๋งค์นญ์„ ์ˆ˜ํ–‰ํ•  ๋•Œ ์ฒ˜๋ฆฌ๋˜๋Š” ์ตœ์†Œ ๋‹จ์œ„๋Š” ๋ฌธ์ž์ด๋‹ค.

    ์•ŒํŒŒ๋ฒณ์˜ ๊ฒฝ์šฐ a, A์™€ ๊ฐ™์ด ๋‹จ์ผ ๋ฌธ์ž ํ•˜๋‚˜๊ฐ€ ๊ทธ์— ํ•ด๋‹นํ•˜๊ณ  ํ•œ๊ธ€์˜ ๊ฒฝ์šฐ์—๋Š” ํ•œ์Œ์ ˆ์˜ ํ•œ ๊ฐœ๋ฌธ์ž๊ฐ€ ๋‹จ์œ„๊ฐ€ ๋œ๋‹ค.






Database ์นดํ…Œ๊ณ ๋ฆฌ ๋‚ด ๋‹ค๋ฅธ ๊ธ€ ๋ณด๋Ÿฌ๊ฐ€๊ธฐ

Leave a comment