SQL LIKEOperadores


El operador LIKE se utiliza para buscar el patrón especificado en una columna en la cláusula WHERE.

LIKEEl operador es una palabra clave en SQL utilizada en laWHEREcláusula para realizar consultas difusas, que nos permite seleccionar datos según la coincidencia de patrones, generalmente se usa con%y_junto con comodines.

Sintaxis de SQL LIKE

SELECT column1, column2, ...
FROM table_name
WHERE column_name LIKE pattern;

Descripción de parámetros:

  • column1, column2, ...: el nombre del campo a seleccionar, puede ser múltiples campos. Si no se especifica el nombre del campo, se seleccionarán todos los campos.
  • table_name: el nombre de la tabla a consultar.
  • column: el nombre del campo a buscar.
  • pattern: el patrón de búsqueda.

Comodines

  • %: coincide con cualquier carácter (incluyendo cero caracteres).
  • _: coincide con un solo carácter.

Ejemplos

Supongamos que tenemos una tabla llamada Products con los siguientes datos:

ProductIDProductNameCategory
1iPhone 12Electronics
2Samsung Galaxy S21Electronics
3Dell XPS 13Electronics
4Nike Air ZoomFootwear
5Adidas UltraboostFootwear
6Sony PlayStation 5Electronics

Usando%el comodín para encontrar todos los productos que comienzan con 'iPhone':

SELECT ProductName, Category
FROM Products
WHERE ProductName LIKE 'iPhone%';

Devuelve los siguientes datos:

ProductNameCategory
iPhone 12Electronics

Usando_el comodín para encontrar todos los productos cuyo segundo carácter del nombre sea 'e':

SELECT ProductName, Category
FROM Products
WHERE ProductName LIKE '_e%';

Devuelve los siguientes datos:

ProductNameCategory
Dell XPS 13Electronics

Combinando%y_los comodines para encontrar todos los productos cuyo nombre contenga 'Zoom':

SELECT ProductName, Category
FROM Products
WHERE ProductName LIKE '%Zoom%';

Devuelve los siguientes datos:

ProductNameCategory
Nike Air ZoomFootwear


Base de datos de demostración

En este tutorial, utilizaremos la base de datos de ejemplo EJEMPLO.

A continuación se muestran los datos seleccionados de la tabla 'Websites':

mysql> SELECT * FROM Websites;
+----+---------------+---------------------------+-------+---------+
| id | name          | url                       | alexa | country |
+----+---------------+---------------------------+-------+---------+
|  1 | Google        | https://www.google.cm/    |     1 | USA     |
|  2 | 淘宝          | https://www.taobao.com/   |    13 | CN      |
|  3 | Ejemplo       | http://www.example.com/    |  5000 | USA     |
|  4 | 微博           | http://weibo.com/         |    20 | CN      |
|  5 | Facebook      | https://www.facebook.com/ |     3 | USA     |
|  7 | stackoverflow | http://stackoverflow.com/ |     0 | IND     |
+----+---------------+---------------------------+-------+---------+


Ejemplos del operador SQL LIKE

La siguiente instrucción SQL selecciona todos los clientes cuyo nombre comienza con la letra 'G':

Ejemplo

SELECT * FROM Websites
WHERE name LIKE 'G%';

Resultado de la ejecución:

Consejo:El símbolo '%' se utiliza para definir comodines antes y después del patrón (letras predeterminadas). Aprenderá más sobre comodines en el próximo capítulo.

La siguiente instrucción SQL selecciona todos los clientes cuyo nombre termina con la letra 'k':

Ejemplo

SELECT * FROM Websites
WHERE name LIKE '%k';

Resultado de la ejecución:

La siguiente instrucción SQL selecciona todos los clientes cuyo nombre contiene el patrón 'oo':

Ejemplo

SELECT * FROM Websites
WHERE name LIKE '%oo%';

Resultado de la ejecución:

Mediante el uso de la palabra clave NOT, puede seleccionar registros que no coincidan con el patrón.

La siguiente instrucción SQL selecciona todos los clientes cuyo nombre no contiene el patrón 'oo':

Ejemplo

SELECT * FROM Websites
WHERE name NOT LIKE '%oo%';

Resultado de la ejecución:

Otras extensiones