SQL Operador LIKE

Tutorial sobre el operador LIKE de SQL. Ejemplos de LIKE Sencillos y Avanzados.

sql where sql select

Seguramente ya sabrás que las consultas SELECT de SQL son muy potentes, y permiten realizar practicamente cualquier selección de datos inimaginable, sobretodo cuando tienes un dominio alto de todas las posibilidades de consultas SQL.

En este tutorial, para ayudarte a lograr más complejas y potentes, voy a explicar el operador LIKE de SQL.

Además, voy a mostrarte varios ejemplos sencillos de LIKE SQL que te ayudarán a entenderlo rápido.

¿Para qué sirve LIKE SQL?

El operador LIKE tiene el objetivo de comprobar condiciones de similitud para textos.

Combinandolo con distintos símbolos podremos seleccionar filas de una tabla por que cierta parte de un texto cumple una condición.

Ejemplos de uso de LIKE en SQL serían:

  • Seleccionar todos los textos que incluyan una palabra. Esto es muy usado en buscadores web.
  • Filtrar por un campo de texto que tenga al menos cierto número de caracteres.
  • Realizar comprobaciones de ciertos patrones simples, si conoces las expresiones regulares (RegExp), decirte que sería algo similar, aunque mucho más sencillo.

¿Cómo se usa el operador LIKE en SQL?

Para utilizar el operador LIKE en las condiciones de tus consultas solo necesitas conocer 2 premisas:

  1. LIKE en SQL se usa junto a la cláusula WHERE.
  2. El operador LIKE se utiliza de forma similar a como lo harías con un IS de SQL o un "=", es decir, sigue la lógica de 
    columna OPERADOR valor.

A continuación un simple esquema de su uso:

SELECT col1, col2
FROM tabla
WHERE col1 LIKE 'valor';

Como hemos dicho antes, el operador LIKE se debe utilizar con símbolos que permitan comprobar la similitud con un patrón concreto. A continuación te muestro los tipos de patrones existentes.

Símbolos de LIKE SQL

Ahora quiero enseñarte los símbolos que existen para operar con LIKE. En concreto existen 2 símbolos que nos permitiran formar distintas combinaciones:

  1. El símbolo % que significa 0 o más caracteres cualquiera.
  2. El símbolo _ que significa 1 caracter cualquiera.

Ejemplos de LIKE SQL

A continuación, y para terminar con este tutorial, voy a realizar varios ejemplos con un tabla que contenga la siguiente información:

id Nombre Apellidos
1 Javier López Ramirez
2 Lorena Gutiérrez Rosada
3 Manuel Gascón del bosque
4 Roberta Álamo González

LIKE con símbolo porcetaje %

Cómo he comentado antes, el caracter % simboliza cualquier caracter que se repita 0 o más veces. 

Con ejemplos lo entenderás mucho mejor.

El siguiente ejemplo buscaría aquellos usuarios que su nombre empieza por "jav":

SELECT id, nombre, apellidos
FROM usuario
WHERE nombre LIKE 'Jav%';

Los resultados de esta consulta serían:

id Nombre Apellidos
1 Javier López Ramirez

Ahora voy a seleccionar los usuarios cuyo apellido termina por "ez":

SELECT *
FROM usuario
WHERE apellidos LIKE '%ez';

Y el resultado de esta consulta con LIKE sería:

id Nombre Apellidos
1 Javier López Ramirez
4 Roberta Álamo González

Consulta para seleccionar los usuarios que su apellido contiene "mi":

SELECT *
FROM usuario
WHERE apellidos LIKE '%mi%';

Con resultado:

id Nombre Apellidos
1 Javier López Ramirez

Ahora consulta con LIKE que obtiene aquellos usuarios los cuales sus apellidos contienen una L, una R, y una Z en este orden:

SELECT *
FROM usuario
WHERE apellidos LIKE '%L%R%Z%';

Y su resultado volvería a ser:

id Nombre Apellidos
1 Javier López Ramirez

LIKE con símbolo barra baja _

Así como hemos visto antes que el símbolo porcentaje significaba la aparición de 0 o más caracteres cualquiera, la barra baja significa la aparición de 1 caracter sin especificar.

Por ejemplo, el siguiente SELECT con LIKE filtra todos aquellos usuarios que tengan un nombre con 6 letras:

SELECT *
FROM usuario
WHERE nombre LIKE '_____';

El resultado de este filtrado selectivo sería:

id Nombre Apellidos
1 Javier López Ramirez
2 Lorena Gutiérrez Rosada
3 Manuel Gascón del bosque

Una vez visto este último ejemplo creo que puedes imaginarte el resto de combinaciones, como ya imaginaras no existe límites a la hora de compaginar un símbolo con otro, de forma que en una misma condición LIKE pueden aparcer tantos portentajes como barra bajas (underscore) quieras.

Debe saber también que una condición de WHERE puede contener múltiples LIKE con la misma o diferentes columnas sin problema. Siempre uniendolos con OR o AND al igual que harías con cualquier otra condición.

Sobre el autor

Javier Gómez Redactor en Srcodigofuente.es

Javier Gómez

Ingeniero técnico en informática de gestión. Desarrollador web freelance y profesor de desarrollo web a partes iguales. Testarudo autodidacta, creativo, perfeccionista y alma libre.

Cargando comentarios

Utilizamos "cookies" para información estadística. Si continúas navegando aceptas su uso.