A veces podemos requerir tuplas de la base de datos que coincidan con ciertos patrones. Por ejemplo, es posible que deseemos recuperar todas las columnas donde las tuplas comienzan con la letra ‘y’, o comienzan con ‘b’ y terminan con ‘l’, o incluso patrones de strings más complicados y restrictivos. Aquí es donde la Cláusula LIKE viene a rescatar, a menudo junto con la Cláusula WHERE en SQL.
Hay dos tipos de comodines que se utilizan para filtrar los resultados:
- % : Se utiliza para hacer coincidir cero o más caracteres. (Longitud variable)
- _ : Se utiliza para hacer coincidir exactamente un carácter. (Longitud fija)
Las siguientes son las reglas para la coincidencia de patrones con la cláusula LIKE:
Patrón | Sentido |
---|---|
‘a%’ | Coincidencia de strings que comienzan con ‘a’ |
‘%a’ | Coincidencia de strings con final en ‘a’ |
‘a’ | Haga coincidir las strings que contienen el comienzo con ‘a’ y terminan con ‘t’. |
‘%guau%’ | Haga coincidir strings que contengan la substring ‘wow’ en cualquier posición. |
‘_guau%’ | Haga coincidir las strings que contienen la substring ‘wow’ en la segunda posición. |
‘_a%’ | Coincide con strings que contienen ‘a’ en la segunda posición. |
‘a_ _%’ | Haga coincidir strings que comiencen con ‘a’ y contengan al menos 2 caracteres más. |
Ejemplo:
Digamos que tenemos una relación, Proveedor. Queremos probar varios patrones usando la cláusula LIKE:
Tabla de proveedores:
Identificación del proveedor | Nombre | Dirección |
---|---|---|
S1 | Proveedores de Parangón | 21-3, Ojla, Delhi |
S2 | Nación del mango | 21, Faridabad, Hariana |
S3 | Negocios canadienses | 6/7, Okhla Fase II, Delhi |
S4 | Comerciantes de caravanas | 2-A, Pitampura, Delhi |
S5 | Harish e hijos | Gurgaon, NCR |
S6 | Proveedores de OM | 2/1, Faridabad, Hariana |
Ejemplos de consultas y resultados:
SELECT SupplierID, Name, Address FROM Suppliers WHERE Name LIKE 'Ca%';
Producción:
S3 | Negocios canadienses | 6/7, Okhla Fase II, Delhi |
S4 | Comerciantes de caravanas | 2-A, Pitampura, Delhi |
SELECT * FROM Suppliers WHERE Address LIKE '%Okhla%';
Producción:
S1 | Proveedores de Parangón | 21-3, Ojla, Delhi |
S3 | Negocios canadienses | 6/7, Okhla Fase II, Delhi |
SELECT SupplierID, Name, Address FROM Suppliers WHERE Name LIKE '_ango%';
Producción:
S2 | Nación del mango | 21, Faridabad, Hariana |
Aplicación: el operador LIKE es extremadamente ingenioso en situaciones como el filtrado de direcciones en el que conocemos solo un segmento o una parte de la dirección completa (como localidad o ciudad) y nos gustaría recuperar resultados basados en eso. Los comodines se pueden explotar ingeniosamente para producir tuplas aún mejores y más filtradas según el requisito.
Este artículo es una contribución de Anannya Uberoi . Si le gusta GeeksforGeeks y le gustaría contribuir, también puede escribir un artículo usando contribuya.geeksforgeeks.org o envíe su artículo por correo a contribuya@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA