LIKE / REGEXP

2025. 2. 20. 19:03ยท๐Ÿ“ SQL/๐Ÿ“
์ ˆ์—์„œ ์—ด์˜ ์ง€์ •๋œ ํŒจํ„ด ๊ฒ€์ƒ‰ํ•˜๋Š”๋ฐ ์‚ฌ์šฉ

 

LIKE

-- 'b'๋กœ ์‹œ์ž‘ํ•˜๋Š” name ์กฐํšŒ
SELECT * FROM T_1
WHERE name LIKE 'b%'

-- 'fy'๋กœ ๋๋‚˜๋Š” name ์กฐํšŒ
SELECT * FROM T_1
WHERE name LIKE '%fy'

-- 'f'๋ฅผ ํฌํ•จํ•˜๋Š” name ์กฐํšŒ
SELECT * FROM T_1
WHERE name LIKE '%f%'

-- 'f'๋กœ ์‹œ์ž‘ํ•˜๋Š” 4๊ธ€์ž name ์กฐํšŒ
SELECT * FROM T_1
WHERE name LIKE 'f___'

-- 'p'๋กœ ๋๋‚˜๋Š” 3๊ธ€์ž name ์กฐํšŒ
SELECT * FROM T_1
WHERE name LIKE '__p'

-- 4๊ธ€์ž name ์กฐํšŒ
SELECT * FROM T_1
WHERE name LIKE '____'

๋ถ€๋“ฑํ˜ธ ์—ฐ์‚ฐ์ž '='๋Š” ์ˆซ์ž ๋ฐ์ดํ„ฐ ์œ ํ˜•์—์„œ ์‚ฌ์šฉํ•˜๊ณ ,

LIKE ์—ฐ์‚ฐ์ž๋Š” ๋ฌธ์ž์—ด ๋ฐ์ดํ„ฐ์˜ ํŒจํ„ด ๋งค์นญ ๋ฐ ๊ฒ€์ƒ‰์— ์‚ฌ์šฉ๋œ๋‹ค

 

NOT LIKE

ํŠน์ • ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰

-- 'b'๋กœ ์‹œ์ž‘ํ•˜์ง€ ์•Š๋Š” name ์กฐํšŒ
SELECT * FROM T_1
WHERE name NOT LIKE 'b%'

-- 'fy'๋กœ ๋๋‚˜์ง€ ์•Š๊ณ  'g'๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์€ name ์กฐํšŒ
SELECT * FROM T_1
WHERE name NOT LIKE '%fy' AND name NOT LIKE '%g%'

 

๋”๋ณด๊ธฐ

LIKE/NOT LIKE '%' ์œ„์น˜์— ๋”ฐ๋ฅธ ์ธ๋ฑ์Šค ์‚ฌ์šฉ ์—ฌ๋ถ€

'๋‹จ์–ด%'๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ฒ€์ƒ‰ํ•  ๋•Œ๋Š” ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰์— ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ,

'%๋‹จ์–ด' ๋˜๋Š” '%๋‹จ์–ด%'๋กœ ์กฐํšŒํ•  ๋•Œ๋Š” ์ธ๋ฑ์Šค๊ฐ€ ์ ์šฉ๋˜์ง€ ์•Š๊ณ  ํ…Œ์ด๋ธ” Full Scan(ํ…Œ์ด๋ธ”์— ํฌํ•จ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ฝ์–ด๋“ค์ž„)์ด ๋ฐœ์ƒ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ธ๋ฑ์Šค์˜ ์ž๋ฃŒ๊ตฌ์กฐ๋Š” ๋Œ€๋ถ€๋ถ„ B-TREE ๊ตฌ์กฐ → ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ํ˜•ํƒœ๋กœ ๋“ค๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํŠน์ • ๋ฌธ์ž์—ด๋กœ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ฃผ์†Œ๊ฐ’์€ ์•Œ ์ˆ˜ ์žˆ์ง€๋งŒ, ๊ทธ๋ ‡์ง€ ์•Š์€ ๊ฒฝ์šฐ์—” ๋ชจ๋“  ํ…Œ์ด๋ธ”์„ ๋‹ค ๋’ค์ ธ์•ผ๋งŒ ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค

๋ฐ์ดํ„ฐ ์–‘์ด ๋งค์šฐ ๋งŽ์€ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ๊ฒ€์ƒ‰ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ ค๋ฉด Full-Text Search ๋ฐฉ์‹์„ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค

 

 

REGEXP

์ •๊ทœํ‘œํ˜„์‹์„ ์ด์šฉํ•œ ํŒจํ„ด ๋งค์นญ

REGEXP = REGEXP_LIKE = RLIKE

-- 'w' ๋˜๋Š” 's'๊ฐ€ ํฌํ•จ๋œ name ์กฐํšŒ
SELECT * FROM PET
WHERE name REGEXP 'w|s'

-- 'a' ๋˜๋Š” 'e' ๋˜๋Š” 'i'๋กœ ์‹œ์ž‘ํ•˜๋Š” name ์กฐํšŒ
SELECT * FROM PET
WHERE name REGEXP '^[aei]'

-- name์ด 'ass' ๋˜๋Š” 'ess' ๋˜๋Š” 'iss'
SELECT * FROM PET
WHERE name REGEXP '[aei]ss'

-- 'o'๊ฐ€ 1๋ฒˆ ์ด์ƒ ๋“ฑ์žฅํ•˜๋Š” name ์กฐํšŒ (ex 'o', 'zoo', 'stratovolcano')
SELECT * FROM PET
WHERE name REGEXP 'a+'

-- 'a'๋ฅผ ํฌํ•จํ•˜์ง€ ์•Š๋Š” name ์กฐํšŒ
SELECT * FROM PET
WHERE name REGEXP '[^a]'
-- 'b'๋กœ ์‹œ์ž‘ํ•˜๋Š” name ์กฐํšŒ
SELECT * FROM PET
WHERE REGEXP_LIKE(name, '^b')

-- 'fy'๋กœ ๋๋‚˜๋Š” name ์กฐํšŒ
SELECT * FROM PET
WHERE REGEXP_LIKE(name, 'fy$')

-- 'w'๋ฅผ ํฌํ•จํ•˜๋Š” name ์กฐํšŒ
SELECT * FROM PET
WHERE REGEXP_LIKE(name, 'w')

-- 5๊ฐœ์˜ ๋ฌธ์ž๊ฐ€ ํฌํ•จ๋œ name ์กฐํšŒ
SELECT * FROM PET
WHERE REGEXP_LIKE(name, '^.....$')
SELECT * FROM PET
WHERE REGEXP_LIKE(name, '^.{5}$')

 

๋ฐ˜์‘ํ˜•

'๐Ÿ“ SQL > ๐Ÿ“' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜ CAST / CONVERT  (0) 2025.02.23
MAX()์™€ LIMIT 1  (0) 2025.02.22
JOIN  (0) 2025.02.19
GROUP BY  (0) 2025.02.19
์ˆซ์ž ํ•จ์ˆ˜  (0) 2025.02.18
'๐Ÿ“ SQL/๐Ÿ“' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜ CAST / CONVERT
  • MAX()์™€ LIMIT 1
  • JOIN
  • GROUP BY
leee
leee
  • leee
    LEE
    leee
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ์นดํ…Œ๊ณ ๋ฆฌ
      • ๐Ÿ“ QA
        • Test
        • Lecture
      • ๐Ÿ“ SQL
        • ๐Ÿ“
      • ๐Ÿ“ Spring
        • Lecture
        • Error
      • ๐Ÿ“ Github
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ๐Ÿ 
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    API ์ž๋™ํ™” ํ…Œ์ŠคํŠธ
    ๊นƒํ—ˆ๋ธŒ ์ธํ…”๋ฆฌ์ œ์ด ์—ฐ๋™ ํ•ด์ œ
    DI ์ปจํ…Œ์ด๋„ˆ
    ์ƒ์„ฑ์ž์ฃผ์ž…
    mismatch
    api ํ…Œ์ŠคํŠธ
    AppConfig
    mysql_๋ฐ์ดํ„ฐํƒ€์ž…๋ณ€ํ™˜
    SQL_Join
    ํฌ์ŠคํŠธ๋งจ
    API Testing
    mysql_๊ธฐ๊ฐ„_๊ฒ€์ƒ‰
    shift_์—ฐ์‚ฐ์ž
    Postman
    mysql_join
    API test
    ์Šคํ”„๋ง ๊ฐ์ฒด์ง€ํ–ฅ
    MySQL
    mysql_์—ฐ์‚ฐ์ž
    COUNT(*)
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.5
leee
LIKE / REGEXP
์ƒ๋‹จ์œผ๋กœ

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