Módulo 28: Conjuntos e Banco de Dados (SQL)

Combinando e comparando resultados de consultas SQL com operações baseadas em conjuntos.

💾 Teoria dos Conjuntos no Mundo dos Dados

Bem-vindo ao Módulo 28! Você já aprendeu sobre a teoria dos conjuntos - uniões, interseções e diferenças. Esses conceitos não são apenas teóricos; eles têm aplicações diretas e poderosas em Bancos de Dados Relacionais usando SQL (Structured Query Language).

Em IA Aplicada, frequentemente precisamos combinar ou comparar dados de diferentes fontes ou subconjuntos. SQL nos fornece operadores como UNION, INTERSECT e EXCEPT que se comportam de maneira muito semelhante às operações de conjuntos que estudamos.

Neste módulo, vamos explorar como usar esses comandos SQL para manipular conjuntos de resultados de consultas, uma habilidade essencial para qualquer cientista de dados ou engenheiro de IA.

🟢 UNION & UNION ALL: Combinando Resultados

Juntando linhas de duas ou mais consultas SELECT.

UNION (União ∪)

Combina os resultados de duas consultas, removendo linhas duplicadas automaticamente. As colunas nas consultas SELECT devem ser compatíveis (mesmo número e tipos de dados semelhantes).

-- Lista de alunos de Matemática OU IA (sem duplicatas)
SELECT nome_aluno FROM AlunosMatematica
UNION
SELECT nome_aluno FROM AlunosIA;

UNION ALL

Combina os resultados de duas consultas, mas mantém todas as linhas, incluindo duplicatas. Geralmente é mais rápido que UNION por não precisar verificar duplicatas.

-- Lista completa de inscrições (pode ter alunos em ambos)
SELECT nome_aluno FROM AlunosMatematica
UNION ALL
SELECT nome_aluno FROM AlunosIA;

Use UNION quando quiser uma lista única de itens de múltiplas fontes e UNION ALL quando precisar de todos os registros, mesmo os repetidos.

🟡 INTERSECT: Encontrando o Comum

Retornando apenas as linhas que aparecem em ambos os resultados das consultas.

INTERSECT (Interseção ∩)

Retorna apenas as linhas que são exatamente iguais e presentes nos resultados de ambas as consultas SELECT. Remove duplicatas automaticamente.

-- Alunos que estão matriculados EM AMBOS Matemática E IA
SELECT nome_aluno FROM AlunosMatematica
INTERSECT
SELECT nome_aluno FROM AlunosIA;

É perfeito para encontrar sobreposições ou elementos comuns entre diferentes conjuntos de dados.

🔴 EXCEPT / MINUS: Encontrando a Diferença

Retornando linhas da primeira consulta que não existem na segunda.

EXCEPT (Diferença \)

Retorna as linhas distintas que estão no resultado da primeira consulta, mas não no resultado da segunda consulta. (Alguns bancos de dados usam MINUS em vez de EXCEPT).

-- Alunos matriculados em Matemática, MAS NÃO em IA
SELECT nome_aluno FROM AlunosMatematica
EXCEPT
SELECT nome_aluno FROM AlunosIA;

Útil para identificar elementos exclusivos de um conjunto em comparação com outro.

⚙️ Combinando Operações SQL

Vamos ver um exemplo que usa essas operações para analisar dados de usuários.

-- Tabelas Hipotéticas:
-- UsuariosAtivos (id_usuario, nome)
-- UsuariosPremium (id_usuario, nome)
-- UsuariosBetaTesters (id_usuario, nome)

-- 1. Encontrar usuários que são Premium OU Beta Testers (lista única)
SELECT id_usuario, nome FROM UsuariosPremium
UNION
SELECT id_usuario, nome FROM UsuariosBetaTesters;

-- 2. Encontrar usuários que são Ativos E Premium
SELECT id_usuario, nome FROM UsuariosAtivos
INTERSECT
SELECT id_usuario, nome FROM UsuariosPremium;

-- 3. Encontrar usuários Ativos que NÃO são Beta Testers
SELECT id_usuario, nome FROM UsuariosAtivos
EXCEPT
SELECT id_usuario, nome FROM UsuariosBetaTesters;

Imagine que temos três tabelas: UsuariosAtivos, UsuariosPremium e UsuariosBetaTesters, cada uma contendo id_usuario e nome.

A primeira consulta usa UNION para obter uma lista combinada e sem duplicatas de todos os usuários que são Premium ou Beta Testers (ou ambos).

A segunda consulta usa INTERSECT para identificar apenas os usuários que pertencem a ambos os grupos: Ativos e Premium.

A terceira consulta usa EXCEPT para encontrar os usuários que estão na lista de Ativos, mas *não* estão na lista de Beta Testers.

Essas operações são fundamentais para segmentar e analisar dados de usuários, uma tarefa comum em personalização e análise de comportamento em sistemas de IA.

🧠 Teste Rápido! (SQL & Conjuntos)

Carregando quiz...

Teoria do Módulo 28 Completa!

Excelente! Você agora entende como os conceitos de teoria dos conjuntos se aplicam diretamente às operações SQL como UNION, INTERSECT e EXCEPT. Manipular conjuntos de dados dessa forma é crucial para preparar e analisar informações em projetos de IA.
Hora de praticar essas consultas SQL! Vá para a Zona de Prática ou a Prática Avançada do Módulo 28.