curso
SQL CONTIENE: Un tutorial completo
La capacidad de buscar y manipular datos de texto es indispensable para los científicos o ingenieros de datos. La función CONTIENE de SQL es una potente herramienta para realizar sofisticadas búsquedas de texto en tus bases de datos, permitiéndote recuperar datos basándote en patrones específicos o palabras clave.
Este tutorial te guiará en el uso eficaz de SQL CONTAINS
, asegurándote de que puedes aprovechar todo su potencial para tus necesidades de análisis de datos.
Comprender SQL CONTAINS
SQL CONTAINS
se utiliza para búsquedas de texto completo, lo que te permite consultar bases de datos en busca de palabras, frases o patrones específicos dentro de los datos de texto. Es especialmente útil para encontrar información específica en campos de texto grandes en los que no se conoce de antemano la ubicación exacta de los datos.
Sintaxis y parámetros
La sintaxis básica de SQL CONTAINS
es la siguiente:
CONTAINS (column_name, 'search_pattern')
Los componentes clave incluyen:
- Nombre de la columna: El campo donde se realizará la búsqueda. Debe ser una columna indexada de texto completo.
- Patrón de búsqueda: El texto que deseas encontrar dentro de la columna, entre comillas simples.
Operadores y comodines
Para afinar tu búsqueda, SQL CONTAINS
admite varios operadores:
AND
&OR
: Utilízalos para combinar varios términos de búsqueda.NEAR
: Busca palabras que estén próximas entre sí.- ASTERISK (
*
): Actúa como comodín para realizar búsquedas en las que la palabra exacta puede formar parte de una cadena mayor.
Implementación de SQL CONTAINS
Exploremos cómo aplicar SQL CONTAINS
con ejemplos prácticos:
Uso básico
Para buscar los términos "manzana" y "naranja" dentro de una columna llamada "fruta", podrías utilizar
CONTAINS (fruit, '"apple" AND "orange"')
Esta consulta devuelve filas en las que ambos términos están presentes en la columna "fruta".
Búsquedas avanzadas
Para búsquedas más complejas, combinar CONTAINS
con otras funciones SQL permite realizar consultas intrincadas, como buscar frases cercanas entre sí o utilizar comodines para encontrar variaciones de una palabra.
Las búsquedas avanzadas pueden incluir la combinación de CONTAINS
con operadores lógicos, el uso de búsquedas por proximidad y el aprovechamiento de caracteres comodín para descubrir patrones o puntos de datos específicos dentro de los campos de texto.
Combinar CONTIENE con operadores lógicos
SQL CONTAINS
admite el uso de operadores lógicos como AND
, OR
y NOT
para refinar las búsquedas en función de múltiples criterios. Por ejemplo, para encontrar entradas que contengan tanto "tecnología" como "innovación" dentro de una columna de texto, podrías estructurar tu consulta de la siguiente manera:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, '"technology" AND "innovation"'
);
A la inversa, para encontrar entradas que contengan cualquiera de los dos términos, utilizarías OR
:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, '"technology" OR "innovation"'
);
Búsquedas por proximidad
El operador NEAR
es especialmente útil para encontrar palabras o frases que aparecen cerca unas de otras dentro del texto. Esta capacidad es inestimable para contextos en los que la relación entre términos afecta a su significado. Por ejemplo, para buscar "clima" cerca de "cambio" con 10 palabras de diferencia:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, 'NEAR((climate, change), 10)'
);
Esta consulta prioriza los registros en los que "clima" y "cambio" están estrechamente relacionados, ofreciendo resultados más relevantes para preguntas de investigación específicas.
Búsquedas con comodín
Los comodines amplían el alcance de las búsquedas al permitir la inclusión de caracteres variables. El asterisco (*
) sirve como comodín en las consultas a CONTAINS
, permitiendo la búsqueda de coincidencias parciales. Por ejemplo, para encontrar variaciones de "computar" como "ordenador", "informática" o "computación", podrías utilizar:
SELECT
*
FROM
your_table
WHERE
CONTAINS(your_column, '"compute*"');
Este enfoque es especialmente útil cuando buscas capturar un amplio conjunto de datos relacionados con una palabra raíz o cuando no estás seguro de los términos exactos utilizados en la base de datos.
Concordancia avanzada de patrones
Para situaciones que requieran una concordancia de patrones aún más sofisticada, considera la posibilidad de combinar SQL CONTAINS
con el operador LIKE
o expresiones regulares. Mientras que CONTAINS
destaca en la búsqueda de texto completo, LIKE
y regex pueden ofrecer flexibilidad de patrones, como la búsqueda de secuencias de caracteres o formatos específicos (por ejemplo, direcciones de correo electrónico o números de teléfono).
Ejemplo práctico: Combinar técnicas para búsquedas exhaustivas
Consideremos un escenario en el que necesitas encontrar entradas de bases de datos relacionadas con la tecnología medioambiental, pero no estás seguro de las frases exactas utilizadas en el texto. Podrías combinar varias técnicas como se indica a continuación:
SELECT
*
FROM
your_table
WHERE
CONTAINS(
your_column, '("environment*" NEAR "technology*", 10) OR "climate change" OR "renewable energy"'
)
AND your_column LIKE '%sustainability%';
Esta consulta demuestra cómo utilizar CONTAINS
para búsquedas por proximidad y con comodines, al tiempo que incorpora el operador LIKE
para la concordancia de patrones adicionales, ofreciendo una estrategia sólida para búsquedas de texto complejas.
Ejemplo práctico de SQL CONTAINS en Ciencia de Datos
Como científico de datos, trabajo con varios tipos de conjuntos de datos, principalmente con conjuntos de datos de texto sobre la satisfacción y las opiniones de los clientes. En este ejemplo concreto, buscaremos palabras clave específicas que puedan indicar satisfacción o insatisfacción en las opiniones de los clientes.
ID |
FeedbackText |
Puntuación de satisfacción |
1 |
Estoy muy contenta con el servicio. |
5 |
2 |
No estoy satisfecho con la calidad del producto. |
2 |
3 |
La entrega fue rápida y el producto funciona muy bien... |
5 |
4 |
El servicio de atención al cliente fue poco servicial y grosero. |
1 |
5 |
Contenta con mi compra. ¡Lo recomendaré! |
4 |
Tabla CustomerFeedback
Para utilizarCONTAINS
, es posible que tu base de datos necesite tener activada la Búsqueda de texto completo.
La palabra clave CONTAINS
se utiliza para buscar registros en los que la columna "FeedbackText" contenga la palabra "feliz".
SELECT
*
FROM
CustomerFeedback
WHERE
CONTAINS(FeedbackText, 'happy');
La consulta anterior devolverá las filas de OpiniónDelCliente en las que la columna TextoValoración contenga la palabra "feliz".
ID |
FeedbackText |
Puntuación de satisfacción |
1 |
Estoy muy contenta con el servicio. |
5 |
3 |
La entrega fue rápida y el producto funciona muy bien... |
5 |
5 |
Contenta con mi compra. ¡Lo recomendaré! |
4 |
No puedes utilizar el comando CONTAINS
en una base de datos SQLite. En su lugar, intenta utilizar
SELECT
*
FROM
CustomerFeedback
WHERE
FeedbackText LIKE '%happy%';
Más allá CONTIENE: Comparación de patrones y manipulación de cadenas
Aunque CONTAINS
es potente para las búsquedas de texto, SQL también ofrece otras técnicas para trabajar con datos de texto:
Operador LIKE
Similar aCONTAINS
, el operador LIKE
permite la coincidencia de patrones, pero con una sintaxis más sencilla, utilizando % como comodín. Por ejemplo, para buscar cualquier nombre de producto que contenga "manzana":
SELECT
*
FROM
Products
WHERE
productName LIKE '%apple%'
Funciones avanzadas de cadena
SQL proporciona funciones como LEFT
y REVERSE
para extraer o manipular partes de cadenas de texto, ofreciendo amplias posibilidades de análisis y manipulación de textos. Puedes aprender más sobre ellos en nuestro curso Limpieza de datos en bases de datos SQL Server.
Conclusión
La función SQL CONTAINS
y sus capacidades asociadas de manipulación de texto son herramientas esenciales para los profesionales de los datos. Comprendiendo y aplicando estas técnicas, podrás buscar y analizar eficazmente datos de texto en tus bases de datos, desvelando perspectivas y mejorando tus proyectos de análisis de datos.
Recuerda que la eficacia de tus consultas no sólo depende de que domines la sintaxis, sino también de que comprendas el contexto y la estructura de tus datos. Practica con conjuntos de datos y proyectos SQL del mundo real y explora diversas funciones para aprovechar plenamente el poder de SQL en el análisis de datos de texto.
Para obtener más información sobre los operadores SQL y explorar los fundamentos de SQL, consulta nuestra hoja de trucos sobre los fundamentos de SQL y el tema de habilidades Fundamentos de SQL.
Conviértete en Ingeniero de Datos

Soy un científico de datos certificado que disfruta creando aplicaciones de aprendizaje automático y escribiendo blogs sobre ciencia de datos. Actualmente me centro en la creación de contenidos, la edición y el trabajo con grandes modelos lingüísticos.
Comienza hoy tu viaje de aprendizaje de SQL
curso
SQL intermedio
curso