SQL Where LIKE
Una vez empezamos a trabajar en filtrar las operaciones de SQL con el WHERE debemos manejarnos con herramientas como el LIKE. En este artículo entenderás el funcionamiento del LIKE en SQL y verás un ejemplo práctico de LIKE. Se hablará del comodín _ en Like y ejemplo de uso del NOT en LIKE también. Con eso, podrás comenzar con los Ejercicios en LIKE de SQL del WHERE.
Como ya sabes, tanto la Programación como las Bases de Datos son imprescindibles para conocer, trabajar o estudiar en el mundo de Big Data o construir y crear IAs.
LIKE es un operador extremadamente potente del lenguaje SQL, que permite a los usuarios buscar rápidamente entre patrones de datos. Es una gran alternativa a la búsqueda estándar por palabras clave cuando se busca un conjunto específico de datos, ya que permite a los usuarios hacer busquedas variables en lugar de tener que utilizar palabras o frases exactas. Es especialmente útil en búsquedas con texto que incluyen patrones.
Por ejemplo, si quisieras buscar todas las fuentes que empiecen por «neo», con LIKE podríamos distinguir fácilmente entre «neón» y «neopreno». En definitiva, utilizar LIKE para patrones puede ser una herramienta fundamenal para encontrar lo que buscas; es una de las partes más útiles dentro del Where en SQL.
Funcionamiento de LIKE
Dentro del where, el like funciona filtrando la información de la siguiente manera: Filtrado de criterio, por patrón o comodín. Podemos definir diferentes patrones… Ejemplos muy comunes que tenemos en nuestro día a día:
- Filtrado por los que empiezan por una letra o acaban por ella
- Filtrado por posición
- Sólo aquellos que cumplen un criterio combinado
¿Como se usa la aplicación Like?
Se coloca al lado del WHERE y se define la columna a la que se quiere aplicar el patrón de búsqueda. Digamos que el LIKE es muy utilizado para empezar a filtrar mejor la información que queremos obtener desde millones de datos ya organizados y en tablas.
Comodines o Patrones en LIKE con SQL
Uso del % en SQL
El uso del LIKE con el patrón % representa cero, uno o más caracteres. Veamos un ejemplo con nuestra tabla TARJETAS
:
NUM_TARJETA | IBAN_ASOCIADO | TITULAR | TIPO_TARJETA | PIN
| SALDO |
---|
23578555
| ES89 | JUAN | Debito | 3624 | 14313.50 |
56478885 | EN23 | MARIA | Credito | 1234 | 3225.00 |
50205376 | FR02 | ALFONSO | Debito | 6538 | -32.19 |
31615296 | AM11 | MIGUEL | Credito | 8081 | 153.40 |
17800377 | ES03 | LUCIANO | Debito | 3275 | -3.25 |
30450279 | FR47 | JUANA | Credito | 5875 | -7985.00 |
18073899 | AM21 | TOÑI | Debito | 3572 | 1.95 |
65447917 | ES11 | MARIA DEL CARMEN | Debito | 6985 | 110.50 |
89599799 | ES09 | UNAI | Debito | 3259 | 99999999999 |
Imagina que queremos localizar aquellos de IBAN que sean españoles. Haríamos algo así:
SELECT * FROM tarjetas WHERE IBAN_ASOCIADO LIKE('ES%');
EL LIKE esta vez escogerá todo lo que empieza con ES discriminando el resto. Una vez se da eso, filtrará aquellas filas con 0, uno o más caractéres.
Fíjate que estas cláusulas las aplicamos en los textos habitualmente. Tratamos de localizar el patrón para filtrar todo a la vez.
Uso del comodín _ en LIKE
Por otro lado, otro patrón o comodín muy habitual es el _ en el LIKE
. podemos aplicar el uso de este comodín para garantizar que haya un número de elementos fijos. Imagina necesitar obtener todas las tarjetas con más de cuatro ceros para una campaña:
SELECT * FROM tarjetas WHERE SALDO LIKE('______.%'); --Hay 6 _ s
Ejemplo del uso del NOT
También puedes objeter un filtrado basado en la negación de los casos que buscas. El ejemplo es el operador NOT en el LIKE
.
Piensa en la manera de utilizar el filtro ^ en el LIKE como dame todo lo que NO sea esto.
DNI | NOMBRE | APELLIDO1 | APELLIDO2 | TIPO_CARNE | FECHA_ APROBACION | PUNTOS | FECHA_RENOVACION | |
---|
21873367K | JUAN | ALFONSO | RODRIGUEZ | A | 10/01/1990 | 15 | 10/ 01/2023 | |
94273727X | MIGUEL | ÁNGEL | BERMUDEZ | B | 12/04/1996 | 15 | 12/04/2024 | |
24344332W | RAFA | MARQUEZ | DE RIVEIRO | A2 | 21/10/2001 | 10 | 21/ 10/2021 | |
53279821Q | IBON | REINOSO | ISASI | A | 03/11/2004 | -2 | - | |
78333312B | MARIA DEL CARMEN | BILBAO | BLAZQUEZ | B | 17/09/2006 | 0 | - | |
63259008H | JULIETA | VENECIA | DE ROSSI | B | 07/07/2021 | 4 | 07/07/2041 | |
983275134F | BENITO | ESCAPADAS | ZIDANE | B1 | 31/12/2061 | 10 | 31/12/2081 | |
35448977O | MIGUEL | CERVANTES | DE AUXILIO | B | 12/04/1700 | 0 | - | |
98327332V | ALBERTO | EINSTEIN | ALEGRIA | C | 12/10/1999 | 15 | 12/10/2026 | |
Imagina la tabla anterior para la Dirección General de Tráfico. Para buscar aquellos que no acaban en Z el apellido2 podríamos hacer esto:
SELECT * FROM carne_dgt WHERE NOT apellido2 LIKE ('%Z');
Documentación oficial SQL Where LIKE
Si quieres profundizar en detalle, te dejamos con la documentación desde Microsoft SQL Server en detalle. A continuación, te dejamos con los ejercicios.
Ejercicios SQL Where Like
Ejercicio 1
Obtener las personas que de la tabla CARNE_DGT
comienzan con el DNI por un 2.
Ejercicio 2
De la tabla CARNE_DGT
queremos conocer quienes deben renovar, sin embargo, los que no tienen puntos no tienen fecha de renovación. ¿Se te ocurre la manera de obtener quienes son?
Ejercicio 3
De la tabla TARJETAS
obtener aquellos que el primer apellido comience por la A
.
Ejercicio 4
Obtener las cuentas de la tabla TARJETAS
donde la contraseña NO sea de 4 dígitos
. Pista: Observa los datos.
5. Ejercicio 5
De la tabla CARNE_DGT
obtener aquellos que el APELLIDO1 comienzan por la A
.
6. Ejercicio 6
Devolver todas las cuentas que no sean de IBAN de origen de España de la tabla TARJETAS
.
⏩ Between en SQL
🏠 INICIO
Preguntas más frecuentes
¿Cómo utilizar el LIKE en SQL?
La manera es SELECT * FROM tabla WHERE campo LIKE patrón;
¿Cómo funciona WHERE en SQL?
Básicamente busca todos los datos y selecciona sólo con los que se cumplen los criterios.
¿Cómo se usa la aplicación like?
Se usa filtrando y extrayendo con patrones y comodines específicos. Leenos para saber más…
¿Qué hace el not like en SQL?
Es como LIKE pero lo opuesto. Enfócalo como… ¿Qué es lo que no quiero? Pues buscaríamos como si fueramos a por esos datos y al final añadimos el not.
¡Haz clic para puntuar esta entrada!