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

ruriruriya

[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL - ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰์— ์œ ์šฉํ•œ like ํ‚ค์›Œ๋“œ ๋ณธ๋ฌธ

๐Ÿ›ข๏ธDB/MySQL

[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค MySQL - ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰์— ์œ ์šฉํ•œ like ํ‚ค์›Œ๋“œ

๋ฃจ๋ฆฌ์•ผใ…‘ 2023. 11. 30. 11:09
๋ฐ˜์‘ํ˜•

LIKE๋Š” MySQL์—์„œ ๋ฌธ์ž์—ด ํŒจํ„ด์„ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋ฌธ์ž์—ด์˜ ์ผ๋ถ€ ๋˜๋Š” ํŠน์ • ํŒจํ„ด์„ ๊ฐ€์ง„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

LIKE๋Š” WHERE ์ ˆ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉ๋˜๋ฉฐ, ํŒจํ„ด ๋งค์นญ์„ ์œ„ํ•ด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐํ˜ธ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค:

  • %: 0๊ฐœ ์ด์ƒ์˜ ๋ฌธ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์™€์ผ๋“œ์นด๋“œ.
  • _: ํ•˜๋‚˜์˜ ๋ฌธ์ž๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์™€์ผ๋“œ์นด๋“œ.

 

์‚ฌ์šฉํ•  ํ…Œ์ด๋ธ”(books)

 

like ํ‚ค์›Œ๋“œ

๋ฌธ์ž์—ด ์•ˆ์—, ์›ํ•˜๋Š” ๋ฌธ์ž์—ด์ด ๋“ค์–ด์žˆ๋Š”์ง€ ๊ฒ€์ƒ‰
์‹ค์ œ๋กœ๋Š” ์ผ๋ž˜์Šคํ‹ฑ ์„œ์น˜(Elasticsearch) ๋ฅผ ๋” ๋งŽ์ด ์“ด๋‹ค. ๊ทธ๋ž˜๋„ ์“ฐ์ด๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ธฐ์ดˆ๋กœ ์•Œ๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.

์ฑ… ์ œ๋ชฉ์— the๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค์‹œ์˜ค.

select *
from books
where title like '%the%';
-- % ์•ž๋’ค๋กœ ์‚ฌ์šฉํ•˜์—ฌ ์•ž๋’ค ์–ด๋””์„œ๋“  the๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ๋Š” ์™€์ผ๋“œ ์นด๋“œ์ด๋‹ค.

 

์ฑ… ์ œ๋ชฉ์ด the ๋กœ ์‹œ์ž‘ํ•˜๋Š” ์ฑ…์„ ์ฐพ์œผ์‹œ์˜ค.

select *
from books
where title like 'the%';

 

์ฑ… ์ œ๋ชฉ์ด the ๋กœ ๋๋‚˜๋Š” ์ฑ…์„ ์ฐพ์œผ์‹œ์˜ค.

select *
from books
where title like '%the';

stock_quantity ์˜ ์ˆซ์ž๊ฐ€, 2์ž๋ฆฌ์ˆ˜์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์œผ์‹œ์˜ค.

select *
from books
where stock_quantity like '___'; -- ์–ธ๋”์Šค์ฝ”์–ด ๊ฐฏ์ˆ˜์— ๋”ฐ๋ผ ์ˆซ์ž๋ฅผ ๋ณด์—ฌ์คŒ

 

LIKE๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์œ ์—ฐํ•œ ๋ฌธ์ž์—ด ํŒจํ„ด ๋งค์นญ์„ ์ œ๊ณตํ•˜์—ฌ ์›ํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋ฐ์— ํ™œ์šฉ๋œ๋‹ค.

 

๋ฐ˜์‘ํ˜•