Pular para o conteúdo principal

O SQL CONTÉM: Um tutorial abrangente

Desbloqueie o poder do SQL CONTAINS para pesquisas avançadas de texto. Mergulhe nos operadores lógicos, nas pesquisas por proximidade e nos usos de curingas para uma análise precisa dos dados.
Actualizado 15 de jan. de 2025  · 5 min de leitura

A capacidade de pesquisar e manipular dados de texto é indispensável para cientistas ou engenheiros de dados. A função CONTAINS do SQL é uma ferramenta poderosa para realizar pesquisas de texto sofisticadas em seus bancos de dados, permitindo que você recupere dados com base em padrões específicos ou palavras-chave.

Este tutorial o guiará pelo uso eficaz do SQL CONTAINS, garantindo que você possa aproveitar todo o seu potencial para as suas necessidades de análise de dados.

Entendendo o SQL CONTAINS

O SQL CONTAINS é usado para pesquisas de texto completo, permitindo que você consulte bancos de dados em busca de palavras, frases ou padrões específicos nos dados de texto. É particularmente útil para encontrar informações específicas em campos de texto grandes em que o local exato dos dados não é conhecido antecipadamente.

Sintaxe e parâmetros

A sintaxe básica do SQL CONTAINS é a seguinte:

CONTAINS (column_name, 'search_pattern')

Os principais componentes incluem:

  • Nome da coluna: O campo em que a pesquisa será realizada. Deve ser uma coluna indexada de texto completo.
  • Padrão de pesquisa: O texto que você deseja encontrar na coluna, entre aspas simples.

Operadores e curingas

Para refinar sua pesquisa, o SQL CONTAINS oferece suporte a vários operadores:

  • AND & OR: Use-os para combinar vários termos de pesquisa.
  • NEAR: Encontra palavras que estão próximas umas das outras.
  • ASTERISK (*): Atua como um curinga para realizar pesquisas em que a palavra exata pode fazer parte de uma cadeia de caracteres maior.

Implementação do SQL CONTAINS

Vamos explorar como você pode aplicar o SQL CONTAINS com exemplos práticos:

Uso básico

Para pesquisar os termos "apple" e "orange" em uma coluna chamada "fruit", você poderia usar:

CONTAINS (fruit, '"apple" AND "orange"')

Essa consulta retorna linhas em que ambos os termos estão presentes na coluna "fruit" (fruta).

Pesquisas avançadas

Para pesquisas mais complexas, a combinação do CONTAINS com outras funções SQL permite consultas complexas, como a pesquisa de frases próximas umas das outras ou o uso de curingas para encontrar variações de uma palavra.

As pesquisas avançadas podem envolver a combinação de CONTAINS com operadores lógicos, o uso de pesquisas de proximidade e a utilização de caracteres curinga para descobrir padrões ou pontos de dados específicos em campos de texto.

Combinação de CONTAINS com operadores lógicos

O SQL CONTAINS oferece suporte ao uso de operadores lógicos, como AND, OR e NOT, para refinar as pesquisas com base em vários critérios. Por exemplo, para encontrar entradas que contenham "tecnologia" e "inovação" em uma coluna de texto, você poderia estruturar a consulta da seguinte forma:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, '"technology" AND "innovation"'
  );

Por outro lado, para localizar entradas que contenham um ou outro termo, você usaria OR:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, '"technology" OR "innovation"'
  );

Pesquisas de proximidade

O operador NEAR é particularmente útil para localizar palavras ou frases que aparecem próximas umas das outras no texto. Esse recurso é inestimável para contextos em que a relação entre os termos afeta seu significado. Por exemplo, para pesquisar "clima" próximo a "mudança" em um intervalo de 10 palavras:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, 'NEAR((climate, change), 10)'
  );

Essa consulta prioriza os registros em que "clima" e "mudança" estão intimamente relacionados, oferecendo resultados mais relevantes para perguntas de pesquisa específicas.

Pesquisas curinga

Os curingas expandem o escopo das pesquisas, permitindo a inclusão de caracteres variáveis. O asterisco (*) funciona como um curinga nas consultas CONTAINS, permitindo que você faça buscas por correspondências parciais. Por exemplo, para encontrar variações de "compute", como "computer", "computing" ou "computation", você pode usar:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(your_column, '"compute*"');

Essa abordagem é particularmente útil quando você deseja capturar um conjunto amplo de dados relacionados a uma palavra raiz ou quando não tem certeza dos termos exatos usados no banco de dados.

Correspondência avançada de padrões

Para cenários que exigem uma correspondência de padrões ainda mais sofisticada, considere combinar o SQL CONTAINS com o operador LIKE ou expressões regulares. Embora o site CONTAINS se destaque na pesquisa de texto completo, o LIKE e o regex podem oferecer flexibilidade de padrões, como a correspondência de sequências de caracteres ou formatos específicos (por exemplo, endereços de e-mail ou números de telefone).

Exemplo prático: Combinação de técnicas para pesquisas abrangentes

Vamos considerar um cenário em que você precisa encontrar entradas de banco de dados relacionadas à tecnologia ambiental, mas não tem certeza das frases exatas usadas no texto. Você pode combinar várias técnicas da seguinte forma:

SELECT 
  * 
FROM 
  your_table 
WHERE 
  CONTAINS(
    your_column, '("environment*" NEAR "technology*", 10) OR "climate change" OR "renewable energy"'
  ) 
  AND your_column LIKE '%sustainability%';

Essa consulta demonstra como você pode usar o site CONTAINS para pesquisas de proximidade e curinga e, ao mesmo tempo, incorporar o operador LIKE para correspondência adicional de padrões, oferecendo uma estratégia robusta para pesquisas de texto complexas.

Exemplo prático de SQL CONTAINS em ciência de dados

Como cientista de dados, trabalho com vários tipos de conjuntos de dados, envolvendo principalmente conjuntos de dados de texto para satisfação e feedback do cliente. Neste exemplo específico, procuraremos palavras-chave específicas que possam indicar satisfação ou insatisfação no feedback do cliente.

ID

FeedbackText

SatisfactionScore

1

Estou muito satisfeito com o serviço.

5

2

Você não está satisfeito com a qualidade do produto.

2

3

A entrega foi rápida e o produto funciona muito bem...

5

4

O atendimento ao cliente não foi prestativo e foi rude.

1

5

Estou feliz com minha compra. Recomendo a você!

4

Tabela CustomerFeedback

Para usar oCONTAINS, talvez seja necessário que seu banco de dados tenha a Pesquisa de texto completo ativada.

A palavra-chave CONTAINS é usada para localizar registros em que a coluna "FeedbackText" contém a palavra "happy" (feliz).

SELECT 
  * 
FROM 
  CustomerFeedback 
WHERE 
  CONTAINS(FeedbackText, 'happy');

A consulta acima retornará as linhas de CustomerFeedback em que a coluna FeedbackText contém a palavra "happy" (feliz).

ID

FeedbackText

SatisfactionScore

1

Estou muito satisfeito com o serviço.

5

3

A entrega foi rápida e o produto funciona muito bem...

5

5

Estou feliz com minha compra. Recomendo a você!

4

Você não pode usar o comando CONTAINS no banco de dados SQLite. Em vez disso, tente usar:

SELECT 
  * 
FROM 
  CustomerFeedback 
WHERE 
  FeedbackText LIKE '%happy%';

Além disso, contém: Correspondência de padrões e manipulação de strings

Embora o CONTAINS seja eficiente para pesquisas de texto, o SQL também oferece outras técnicas para que você trabalhe com dados de texto:

Operador LIKE

Semelhante aoCONTAINS, o operador LIKE permite a correspondência de padrões, mas com uma sintaxe mais simples, usando % como curinga. Por exemplo, para localizar qualquer nome de produto que contenha "apple":

SELECT 
  * 
FROM 
  Products 
WHERE 
  productName LIKE '%apple%'

Funções avançadas de cadeia de caracteres

O SQL fornece funções como LEFT e REVERSE para extrair ou manipular partes de cadeias de texto, oferecendo amplos recursos para análise e manipulação de texto. Você pode saber mais sobre isso em nosso curso Limpeza de dados em bancos de dados do SQL Server.

Conclusão

A função SQL CONTAINS e seus recursos de manipulação de texto associados são ferramentas essenciais para os profissionais de dados. Ao compreender e aplicar essas técnicas, você pode pesquisar e analisar com eficiência os dados de texto em seus bancos de dados, obtendo insights e aprimorando seus projetos de análise de dados.

Lembre-se de que a eficácia de suas consultas depende não apenas do domínio da sintaxe, mas também da compreensão do contexto e da estrutura de seus dados. Pratique com conjuntos de dados do mundo real e projetos SQL e explore várias funções para aproveitar totalmente o poder do SQL na análise de dados de texto.

Para saber mais sobre os operadores SQL e explorar os conceitos básicos de SQL, confira nossa Folha de consulta de conceitos básicos de SQL e a trilha de habilidades SQL Fundamentals.

Torne-se um engenheiro de dados

Comprove suas habilidades como engenheiro de dados pronto para o trabalho.
Acelerar minha carreira de dados

Abid Ali Awan's photo
Author
Abid Ali Awan
LinkedIn
Twitter

Sou um cientista de dados certificado que gosta de criar aplicativos de aprendizado de máquina e escrever blogs sobre ciência de dados. No momento, estou me concentrando na criação e edição de conteúdo e no trabalho com modelos de linguagem de grande porte.

Temas

Comece sua jornada de aprendizado de SQL hoje mesmo!

Certificação disponível

curso

Introdução ao SQL

2 hr
881.7K
Aprenda a criar e consultar bancos de dados relacionais usando SQL em apenas duas horas.
Ver DetalhesRight Arrow
Iniciar curso
Ver maisRight Arrow
Relacionado

blog

Um guia abrangente para a certificação SQL no DataCamp

Explore a certificação SQL com os cursos e tutoriais da DataCamp. Adquira habilidades práticas e conhecimento teórico para se destacar na análise de dados e avançar em sua carreira.
Matt Crabtree's photo

Matt Crabtree

8 min

tutorial

Tutorial do SQL Server: Desbloqueie o poder do gerenciamento de dados

Explore o gerenciamento de dados com nosso tutorial do SQL Server. Do básico ao uso avançado, aprimore suas habilidades e navegue no SQL Server com confiança.

Kevin Babitz

13 min

tutorial

Exemplos e tutoriais de consultas SQL

Se você deseja começar a usar o SQL, nós o ajudamos. Neste tutorial de SQL, apresentaremos as consultas SQL, uma ferramenta poderosa que nos permite trabalhar com os dados armazenados em um banco de dados. Você verá como escrever consultas SQL, aprenderá sobre
Sejal Jaiswal's photo

Sejal Jaiswal

21 min

tutorial

QUALIFICAR: A instrução de filtragem SQL que você nunca soube que precisava

Saiba mais sobre a cláusula SQL QUALIFY, um método de filtragem essencial, porém menos conhecido, no SQL. Entenda sua sintaxe, usos e como ela difere de outros métodos de filtragem SQL.
Kurtis Pykes 's photo

Kurtis Pykes

8 min

tutorial

FUNÇÃO SQL COUNT()

COUNT() permite que você conte o número de linhas que correspondem a determinadas condições. Saiba como usá-lo neste tutorial.
Travis Tang 's photo

Travis Tang

3 min

tutorial

Tutorial do MySQL: Um guia abrangente para iniciantes

Descubra o que é o MySQL e como começar a usar um dos sistemas de gerenciamento de banco de dados mais populares.
Javier Canales Luna's photo

Javier Canales Luna

15 min

Ver maisVer mais