Aprende SQL · lección gratuita

Lección 07 · Búsqueda de texto: LIKE y patrones

Resumen

LIKE permite buscar texto por patrones en lugar de coincidencias exactas. Usa dos comodines: % representa cualquier secuencia de caracteres (incluida la vacía) y _ representa exactamente un carácter. Es la herramienta básica para búsquedas tipo "empieza por", "contiene" o "termina en", como las que hay detrás de un buscador.

Sintaxis / Conceptos

Los dos comodines y dónde se colocan

La posición del % define el tipo de búsqueda:

El _ es un comodín de un solo carácter obligatorio: 'A_' coincide con cadenas de exactamente dos caracteres que empiezan por "A", mientras que 'A%' coincide con cualquier cadena que empiece por "A".

Buscar un % o _ literal: ESCAPE

Si necesitas buscar el carácter % o _ como texto literal (no como comodín), define un carácter de escape con ESCAPE. Por ejemplo, ... WHERE nombre LIKE '%100\%%' ESCAPE '\' busca el texto literal "100%": aquí \% significa "un signo de porcentaje literal", mientras que los % sin escapar siguen siendo comodines.

SELECT empresa, pais FROM clientes WHERE empresa LIKE '%Tech%'

Ejemplos

-- Empieza por: productos cuyo nombre arranca con "CRM"
SELECT nombre, precio FROM productos
WHERE nombre LIKE 'CRM%'
ORDER BY nombre;

-- Contiene: productos con "Cloud" en cualquier parte del nombre
SELECT nombre FROM productos
WHERE nombre LIKE '%Cloud%'
ORDER BY nombre;

-- Termina en: empresas cuyo nombre acaba en "Corp" o "Plus"
SELECT empresa FROM clientes
WHERE empresa LIKE '%Corp' OR empresa LIKE '%Plus'
ORDER BY empresa;

-- Comodín de un carácter: empleados cuya segunda letra del nombre es "a"
SELECT nombre FROM empleados
WHERE nombre LIKE '_a%'
ORDER BY nombre;

-- NOT LIKE: cargos que no mencionan "Ventas"
SELECT DISTINCT cargo FROM empleados
WHERE cargo NOT LIKE '%Ventas%'
ORDER BY cargo;
💡 LIKE '%texto%' no puede usar índices y recorre toda la tabla; en tablas grandes puede ser lento. Para "empieza por" ('texto%') sí se aprovecha el índice. Para búsqueda de texto seria, considera FTS (full-text search).

Cheatsheet

PatrónCoincide con
'abc%'Empieza por "abc"
'%abc'Termina en "abc"
'%abc%'Contiene "abc"
'a_c'"a", un carácter cualquiera, "c" (3 letras)
col NOT LIKE 'x%'NO empieza por "x"
LIKE '%50\%%' ESCAPE '\'Busca el % literal

---

← Rangos y listas: BETWEEN e INLógica condicional: CASE y manejo de NULL →

Ver todas las lecciones de Aprende SQL →