Patrones de búsqueda en SQL con LIKE

Patrones de búsqueda en SQL con LIKE

En esta ocasión os voy a mostrar con ejemplos prácticos, como funcionan los patrones de búsqueda en SQL, con la cláusula LIKE.


Para las prácticas, utilizaremos las tablas que vienen con la instalación de MySQL, 'world' y 'sakila'.

La cláusula LIKE de SQL

La cláusula LIKE se usa para buscar valores que coincidan con un patrón específico en una columna. Es posible utilizar dos caracteres especiales con la cláusula LIKE. El símbolo '%' que representa cualquier cantidad de caracteres o el símbolo '_' que representa un solo caracter.

Vamos a la tabla actor de la base de datos 'sakila'. Hagamos alguna consulta de prueba.

El símbolo % con LIKE

Vamos a seleccionar todos los campos de la tabla 'actor' y buscaremos en el WHERE, junto con LIKE, a todas las personas cuyo nombre empiece por la letra 'E'. Lo que venga después, a la derecha de esta letra, será un número indefinido de caracteres.

SELECT * FROM actor
WHERE first_name LIKE 'E%';
cláusula LIKE de SQL con %

Esto está encontrando todos los nombres que empiezan con la letra 'E'. Después, da igual si tiene una letra más, como 'ED' o si tienen 20. Salen todos.

Vamos a la tabla 'country' de la base de datos world. Ahí, probaremos de buscar una palabra en concreto. Todos los países que contengan la palabra 'island'. El problema aquí, es que esta palabra, no aparece al principio y en algunos casos, sale en plural 'islands'. Por lo tanto, tenemos que utilizar el comodín '%' al principio y al final:


SELECT * FROM country
WHERE Name LIKE '%island%';
resultados patrones de búsqueda

El símbolo _ con LIKE

Ahora, probemos con el otro símbolo. Con la siguiente consulta, estoy encontrando todos los nombres que empiezan por 'E' y tienen un solo caracter a la derecha. En este caso, solo se cumplen los 'ED'.

SELECT * FROM actor
WHERE first_name LIKE 'E_';
símbolo _ con like de sql

Este símbolo, también nos puede ser de gran utilidad si queremos encontrar resultados de por ejemplo, 5 caracteres, independientemente de los que sean.

SELECT * FROM actor
WHERE first_name LIKE '_____';
buscar patrones con like

¿Quieres nombres de 5 caracteres que acaben con la letra 'A'? Pues lo puedes hacer así:


SELECT * FROM actor
WHERE first_name LIKE '____A';
sql like

Combinaciones con de símbolos en LIKE de SQL

Es posible crear filtros más complejos mediante la combinación de estos símbolos. Veamos un ejemplo práctico.

Aquí estoy filtrando por apellido. El número de caracteres es libre hasta llegar a una 'i'. Después de esta primera 'i',. Solo podrán venir apellidos que tengan dos caracteres más.

SELECT * FROM actor 
WHERE last_name LIKE '%i__';
combinaciones en patrones de búsqueda

Hasta aquí este capítulo. En el siguiente, veremos como funcionan los patrones de búsqueda con la cláusula IN.

No te pierdas nada del curso Máster en SQL.


Un comentario en «Patrones de búsqueda en SQL con LIKE»

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso Java Entrada anterior Botones de JavaFX
curso django Entrada siguiente [DJANGO] Crear un formulario de registro de usuarios