El operador SQL `LIKE`: búsquedas eficaces con SQL
El operador SQL LIKE
es una de las herramientas SQL más importantes para simplificar las búsquedas de patrones específicos en conjuntos de datos. Utiliza comodines y patrones que permiten analizar conjuntos de datos y realizar consultas con mucha más facilidad.
¿Qué es el operador SQL LIKE
?
Como si fuera un perro rastreador, el operador SQL LIKE
permite buscar coincidencias exactas en conjuntos de datos o cadenas de caracteres o utilizar comodines y patrones según sea necesario. Los comodines en SQL, también conocidos como wildcards, se usan únicamente con el operador LIKE
, lo que ayuda a filtrar datos de manera eficaz y flexible y optimiza notablemente el rendimiento de SQL. El operador LIKE
suele utilizarse junto con la cláusula WHERE
y los comandos SQL SQL DELETE, SQL SELECT o SQL UPDATE.
Si hasta ahora no has probado todas las funcionalidades de SQL, puedes echar un vistazo a la introducción con ejemplos de SQL para comprender lo básico.
La sintaxis del operador LIKE
Esta es la sintaxis básica de LIKE
:
SELECT columnaA, columnaB, …
FROM tablaA
WHERE columnaA LIKE 'patrón o comodín'
sqlSe utilizan los siguientes parámetros:
SELECT
: especifica las columnas de las que se desea obtener datos. Al utilizar un asterisco*
, también se pueden seleccionar todos los conjuntos de datos.FROM
: indica las columnas que se tienen en cuenta para la búsqueda.WHERE
: define columnas específicas para la consulta.LIKE
: establece patrones de búsqueda. Puedes utilizar cadenas de caracteres específicas para coincidencias exactas o comodines SQL.
Comodines de SQL adecuados para SQL LIKE
Para realizar búsquedas en SQL, los comodines SQL deberían usarse solo con el operador LIKE para obtener resultados similares o coincidentes. Estos son los comodines más importantes:
- Signo de porcentaje
%
: el%
reemplaza uno o más caracteres en el patrón de búsqueda. Con%patróndebúsqueda%
se puede filtrar el conjunto de datos según el patrón definido entre los signos de porcentaje. No importa dónde se encuentren los resultados en el conjunto de datos ni qué cadenas de caracteres aparezcan antes o después del patrón de búsqueda. Al utilizarpatrón%búsqueda
, se filtran los registros según resultados que comiencen y terminen con caracteres antes y después del%
. - Guion bajo
_
: sirve para reemplazar caracteres individuales en el patrón de búsqueda. Por ejemplo, al buscarS_RA
, se filtran los datos para obtener todos los nombres que comienzan por S y terminan en RA, donde la segunda letra es desconocida. - Corchetes
[…]
: entre ellos se especifica el conjunto de caracteres para el que se realiza la búsqueda. Por ejemplo, con[a-d]
estableces que estás buscando una letra entre la A y la D en el patrón de búsqueda.
Usos del operador LIKE
LIKE
puede utilizarse para realizar consultas y búsquedas de manera casi ilimitada. Por ejemplo, es posible:
- buscar variantes de nombres que comienzan o terminan con una secuencia determinada de caracteres cuando no se conoce el nombre exacto,
- buscar por un dominio específico de correo electrónico (por ejemplo, .es),
- filtrar coincidencias exactas con términos de búsqueda específicos sin comodines SQL,
- filtrar productos con palabras determinadas en el nombre del producto o buscar ciertas características de productos,
- excluir datos combinando el operador
NOT
conLIKE
, - filtrar resultados, por ejemplo, por fecha, rango de fechas o por valores numéricos como precios de productos.
Para trabajar de forma eficaz con conjuntos de datos, es necesario contar con una solución segura y potente para el sistema de gestión de bases de datos. En el Hosting SQL Server de IONOS encontrarás ofertas de servidores y hosting adaptados a tus necesidades.
- Ancho de banda de hasta 1 Gb/s y tráfico ilimitado
- Almacenamiento SSD NVMe ultrarrápido
- Incluye: edición Plesk Web Host
Ejemplos para realizar búsquedas con SQL LIKE
Se pueden utilizar distintos comandos LIKE
en función del caso y del conjunto de datos. A continuación, te damos ejemplos que ilustran cómo funciona SQL LIKE
.
Filtrar con términos de búsqueda exactos
Imagina que tienes que buscar en la tabla “Clientes” por clientes con un apellido concreto. Al utilizar SQL LIKE
puedes obtener todos los clientes que tengan ese apellido. Lo mismo ocurre al buscar por valores numéricos exactos, como los precios de un producto.
Por ejemplo:
SELECT *
FROM clientes
WHERE apellido LIKE 'Martínez'
sqlFiltrar con signos de porcentaje
Puedes utilizar los comodines SQL para filtrar grandes conjuntos de datos por patrones. Con los signos de porcentaje puedes filtrar, por ejemplo, todos los nombres que empiecen por “M” y terminen en “ez” en una tabla de clientes:
SELECT *
FROM clientes
WHERE apellido LIKE 'm%ez'
sqlSi quieres buscar todas las direcciones de correo electrónico que tengan el dominio .es, puedes escribir lo siguiente:
SELECT *
FROM clientes
WHERE dirección-correo-electrónico LIKE '%.es'
sqlFiltrar con guion bajo
Si necesitas buscar en la tabla “Clientes” un apellido del que solo conoces las dos primeras y las dos últimas letras, pero no las letras que hay entre medias, debes escribir lo siguiente:
SELECT *
FROM clientes
WHERE apellido LIKE 'Ma_ez'
sqlExcluir datos con NOT LIKE
Puedes invertir la búsqueda con el operador SQL LIKE
combinándolo con SQL NOT. De esta manera, se filtra un conjunto de datos para obtener resultados que no coinciden con el término de búsqueda o el patrón especificado. Por ejemplo, puedes buscar todos los clientes cuyo apellido no igual que el nombre especificado escribiendo lo siguiente:
SELECT *
FROM clientes
WHERE apellido NOT LIKE 'Martínez'
sqlAlternativas a SQL LIKE
Aunque SQL dispone de otros operadores, SQL LIKE
destaca por permitir búsquedas más flexibles y precisas con el uso de wildcards como los comodines y los patrones, lo que es especialmente útil cuando los términos de búsqueda no son exactos.
Estos operadores funcionan de manera similar a SQL LIKE
:
- Igual a
=
: filtra resultados que coinciden exactamente con el término de búsqueda. - Distinto de
!=
: filtra resultados que no coinciden exactamente con el término de búsqueda. - Menor que
<
o mayor que>
: devuelve valores numéricos de los conjuntos de datos que son menores o mayores que el valor buscado. Al utilizar<=
o>=
, se filtran resultados que son menores o iguales, o mayores o iguales que el valor buscado.