sql >> Base de Datos >  >> RDS >> Database

Cómo usar LIKE en SQL

Problema:

Le gustaría encontrar una subcadena que coincida con un patrón en una cadena.

Ejemplo:

Nuestra base de datos tiene una tabla llamada cliente con datos en las siguientes columnas:id , first_name , last_name y city .

id nombre apellido ciudad
1 Alan Watson Madrid
2 Lisa Negro Singapur
3 Laura Williams Seattle
4 Milán Ladrillo Seúl

Veamos algunos ejemplos de coincidencia de patrones en SQL.

Ejemplo 1:

Mostremos el nombre, el apellido y la ciudad de cada cliente cuyo nombre de ciudad comience con la letra 'S'.

Solución:

SELECT last_name, first_name, city  
FROM customer
WHERE city LIKE 'S%';
apellido nombre ciudad
Lisa Negro S Singapur
Milán Ladrillo S eoul
Laura Williams S comer

Usamos el comodín %, que representa cero o más caracteres desconocidos. Este comodín se puede usar en cualquier parte de la cadena.

Ejemplo 2:

Mostremos el nombre, el apellido y la ciudad de cada cliente cuyo nombre de ciudad contenga exactamente cinco caracteres.

Solución:

SELECT last_name, first_name, city  
FROM customer
WHERE city LIKE '_____';

Aquí está el resultado:

apellido nombre ciudad
Milán Ladrillo Seúl

El comodín de subrayado se puede utilizar para representar un único carácter desconocido. Por lo tanto, al usar cinco de ellos en una fila, podemos representar todas las cadenas que tienen cinco caracteres de largo. En nuestro ejemplo, la única ciudad que coincide con esa descripción es Seúl.

Ejemplo 3:

Mostremos el nombre, el apellido y la ciudad de cada cliente cuya ciudad comience con la letra 'S' y tenga la letra 'o' como penúltimo carácter.

Solución:

SELECT last_name, first_name, city  
FROM customer
WHERE city LIKE 'S%o__';

Aquí está el resultado:

apellido nombre ciudad
Lisa Negro S ingapo re
Milán Ladrillo S eo ul

La consulta devolvió solo dos registros:Lisa Black de S ingapo re y Milan Brick de S eo ul. Estas ciudades coinciden con el patrón dado. Aquí, combinamos ambos comodines para generar un patrón más específico:todas las cadenas que comienzan con una letra mayúscula 'S' y contienen cualquier número de otros caracteres después de eso, siempre que el penúltimo carácter sea una letra minúscula 'o. '

Discusión:

Si desea seleccionar registros en los que una cadena coincida con un patrón específico, puede usar LIKE cláusula como la condición en un WHERE cláusula. Después de WHERE , escriba el nombre de la columna (por ejemplo, city ) seguido de un LIKE cláusula que especifica el patrón de cadena (por ejemplo, 'S%o__' ) para buscar.

Como vimos en los ejemplos, puede usar dos caracteres especiales conocidos como comodines para representar caracteres desconocidos:

  • El comodín '%' denota cero o más caracteres.
  • El comodín '_' denota cualquier carácter único.

Puede combinar estos comodines para lograr resultados realmente poderosos. También puedes encadenar más de un LIKE condición. Finalmente, puedes usar el NOT operador para encontrar cadenas que no coincida con el patrón dado.