Guía Completa sobre el operador LIKE en SQL

El operador LIKE en SQL es una herramienta poderosa para realizar búsquedas de patrones dentro de columnas de texto. Este operador es ampliamente utilizado cuando necesitamos encontrar registros que coincidan parcial o totalmente con un criterio específico.

  El operador LIKE

El operador LIKE nos permite buscar valores en una columna que cumplan con un patrón determinado. Este patrón puede incluir:

  • %: Representa cero, uno o más caracteres. Se usa para coincidir con cualquier cantidad de caracteres en una parte de la cadena.
  • % al inicio: Permite encontrar cualquier valor que contenga la cadena especificada en cualquier parte del texto.
  • % al final: Busca cualquier texto que comience con la subcadena especificada.
  • LIKE '%busqueda%': Cuando el operador LIKE en SQL tiene el comodín % al principio y al final de la cadena, significa que la búsqueda buscará cualquier valor que contenga “busqueda” en cualquier parte de la cadena.
  • _: Representa un solo carácter. Se usa cuando se quiere coincidir con un carácter específico en una posición determinada.

Se utiliza principalmente en consultas SELECT para filtrar registros en bases de datos relacionales.


Ejemplos Prácticos


Tabla: estudiantes

sql
| id  | nombre | apellido | email                      |
|-----|--------|----------|----------------------------|
| 1   | Juan   | Pérez    | juan.perez@gmail.com       |
| 2   | Ana    | Ramírez  | ana.ramirez@yahoo.com      |
| 3   | Pedro  | López    | pedro.lopez@hotmail.com    |
| 4   | María  | Gómez    | maria.gomez@gmail.com      |
| 5   | Carlos | Santana  | carlos.santana@outlook.com |

Buscar Estudiantes con Apellidos que Contengan “ez”

sql
SELECT * FROM estudiantes
WHERE apellido LIKE '%ez';

Resultado:

idnombreapellidoemail
1JuanPérezjuan.perez@gmail.com
3PedroLópezpedro.lopez@hotmail.com

Buscar Estudiantes con Correos Electrónicos de Gmail

sql
SELECT * FROM estudiantes
WHERE email LIKE '%@gmail.com';

Resultado:

idnombreapellidoemail
1JuanPérezjuan.perez@gmail.com
4MaríaGómezmaria.gomez@gmail.com

Tabla: comidas

idnombretipo
1PizzaItaliana
2HamburguesaAmericana
3TacosMexicana
4SushiJaponesa
5Ensalada CésarSaludable

Buscar Comidas con Nombre que Empiece con ‘P’

Cuando el operador LIKE usa el comodín *% al final de la cadena, se busca cualquier valor que empiece con la subcadena especificada, permitiendo cualquier cantidad de caracteres después de ella.

sql
SELECT * FROM comidas
WHERE nombre LIKE 'P%';

Resultado:

idnombretipo
1PizzaItaliana

Buscar Comidas de Tipo que Contengan “ana”

Selecciona todas las filas de la tabla comidas donde la columna tipo contiene la cadena “ana” en cualquier parte de su valor. El comodín % antes y después de “ana” permite que haya cualquier cantidad de caracteres antes o después de “ana”.

sql
SELECT * FROM comidas
WHERE tipo LIKE '%ana%';

Resultado:

idnombretipo
2HamburguesaAmericana
3TacosMexicana

Tabla: productos

idnombrecategoría
1LaptopElectrónica
2TelevisorElectrónica
3RefrigeradorElectrodoméstico
4LavadoraElectrodoméstico
5CelularElectrónica

Buscar Productos que Empiecen con “L”

sql
SELECT * FROM productos
WHERE nombre LIKE 'L%';

Resultado:

idnombrecategoría
1LaptopElectrónica
4LavadoraElectrodoméstico

Buscar Productos con Nombre que Contengan “er”

sql
SELECT * FROM productos
WHERE nombre LIKE '%er%';

Resultado:

idnombrecategoría
3RefrigeradorElectrodoméstico
4LavadoraElectrodoméstico

Tabla: empleados

idnombrepuesto
1PedroGerente
2AnaAsistente
3MaríaGerente
4AndrésAsistente
5CarlosTécnico

Buscar Empleados con Puesto que Empiece con ‘G’

sql
SELECT * FROM empleados
WHERE puesto LIKE 'G%';

Resultado:

idnombrepuesto
1PedroGerente
3MaríaGerente

Buscar Empleados con Nombre que Contenga “ra”

sql
SELECT * FROM empleados
WHERE nombre LIKE '%ra%';

Resultado:

idnombrepuesto
3MaríaGerente
4AndrésAsistente

Tabla: libros

idtítuloautor
1La OdiseaHomero
2Cien años de soledadGabriel García Márquez
3Matar a un ruiseñorHarper Lee
4El principitoAntoine de Saint-Exupéry
51984George Orwell

Buscar Libros con Título que Empiece con “C”

sql
SELECT * FROM libros
WHERE título LIKE 'C%';

Resultado:

idtítuloautor
2Cien años de soledadGabriel García Márquez

Buscar Libros con Autor que Contenga “e”

Encontrar registros que contengan una subcadena en cualquier parte del texto. Esto significa que cualquier texto antes o después de la subcadena especificada será aceptado.

sql
SELECT * FROM libros
WHERE autor LIKE '%e%';

Resultado:

idtítuloautor
1La OdiseaHomero
2Cien años de soledadGabriel García Márquez
3Matar a un ruiseñorHarper Lee
51984George Orwell
  Consideraciones Adicionales

  • El operador LIKE no es sensible a mayúsculas y minúsculas en bases de datos como MySQL, pero puede ser sensible en otras como PostgreSQL, a menos que se utilicen funciones adicionales.
  • Para búsquedas más avanzadas, puedes combinar LIKE con otros operadores (AND, OR, etc.).

Con el operador LIKE, las búsquedas de patrones se vuelven mucho más sencillas y flexibles, lo que facilita la manipulación de datos en bases de datos.