AULA 12

Associação de Tabelas I: INNER JOIN & CROSS JOIN

CURSO TÉCNICO EM DESENVOLVIMENTO DE SISTEMAS • POSTGRESQL

Costurando Dados Fragmentados com INNER JOIN

Na Aula 04 (Normalização), nós quebramos uma planilha gigante em várias tabelas menores para eliminar redundâncias. Hoje, você aprenderá a reconstruir a realidade conectando Chaves Primárias (PK) e Chaves Estrangeiras (FK) diretamente no SQL Editor do Supabase.

FIG 1.0 — A PONTE RELACIONAL (PK ➔ FK) ANSI SQL-92
TB_CLIENTES 🔑 id (PK) = 03 nome: "João Silva" status: "Ativo" TB_PEDIDOS id (PK): 9041 🔗 cliente_id = 03 valor: R$ 1.490 INNER JOIN ... ON c.id = p.cliente_id Resultado Costurado: João Silva ➔ Pedido #9041 (R$ 1.490)

A Chave Estrangeira (FK) é a coordenada exata que aponta para a Chave Primária (PK) de outra tabela.

PLANEJAMENTO PEDAGÓGICO

Roteiro de Aula

Foco: Teoria Guiada & Prática Intensiva Individual no Supabase
BLOCO 01 FUNDAMENTOS

Quebra-Cabeça & CROSS JOIN

Revisão da Normalização (Aula 04), conceito de pontes PK/FK e demonstração prática do perigo matemático do Produto Cartesiano (CROSS JOIN).

BLOCO 02 PADRÃO ANSI

WHERE Antigo vs. INNER JOIN

Por que aposentar o WHERE a.id = b.id dos anos 80. Domínio do padrão ANSI (INNER JOIN ... ON), Aliases (AS) e múltiplos JOINs no Supabase.

BLOCO 03 • PROJETO MÃO NA MASSA

Desafio Individual (32 Temas)

Cada aluno assume 1 dos 32 sistemas exclusivos e executa as 6 Fases no Supabase: Modelagem DDL (4 tabelas), Populamento (36+ linhas), e 12 Relatórios SQL com JOINs.

BLOCO 04 FECHAMENTO

Validação & Gancho Aula 13

Inspeção do cliente "órfão" que desapareceu no INNER JOIN e introdução ao mistério que será resolvido com LEFT JOIN na próxima aula.

ANALOGIAS VISUAIS & ARQUITETURA SQL

Entenda a Mecânica Antes de Digitar o Código

Abstrair junções de tabelas é um dos momentos mais importantes para o desenvolvedor. Observe as 4 analogias visuais abaixo para nunca mais confundir um cruzamento de dados.

ANALOGIA 01 • PRODUTO CARTESIANO CROSS JOIN

O Curto-Circuito da Multiplicação Caótica

Pedir dados de duas tabelas sem explicar a regra de ligação (SELECT * FROM clientes, pedidos;) é como ligar todos os fios de um quadro elétrico ao mesmo tempo. Se você tiver 10.000 clientes e 5.000 pedidos, o banco processará 50.000.000 de linhas falsas!

TABELA ALUNOS (3) João Maria Pedro TABELA TURMAS (3) Redes Mecânica Elétrica ⚠️ CAOS: 3 x 3 = 9 LINHAS FALSAS
ANALOGIA 02 • TEORIA DOS CONJUNTOS INNER JOIN

O Filtro de Intersecção Estrita (Diagrama de Venn)

Na matemática dos conjuntos, o INNER JOIN pinta exclusivamente o centro onde os dois círculos se cruzam. Se um cliente foi cadastrado no banco mas nunca fez um pedido, ele fica na borda cinza e é ignorado pelo relatório.

CLIENTES (Sem compras) PEDIDOS (Registros) INNER JOIN Somente quem tem PK = FK entra no resultado!
ANALOGIA 03 • SEPARAÇÃO DE FUNÇÕES ON vs. WHERE

A Cola Estrutural (ON) vs. A Peneira de Negócio (WHERE)

Nos anos 80, usava-se o WHERE tanto para colar tabelas quanto para filtrar preços. Isso misturava a engenharia da ponte com a regra de negócio. No padrão ANSI moderno, o ON constrói a ponte e o WHERE apenas filtra os dados.

❌ ANOS 80 (MISTURADO) FROM clientes, pedidos WHERE c.id = p.cli_id AND p.valor > 500 AND c.ativo = true; Cola e filtro bagunçados! ✅ PADRÃO ANSI (LIMPO) INNER JOIN pedidos p ON c.id = p.cli_id -- Cola WHERE p.valor > 500 AND c.ativo = true; Arquitetura profissional
ANALOGIA 04 • ENGENHARIA EM CADEIA MÚLTIPLOS JOINS

A Linha de Montagem de 3 ou 4 Tabelas

E quando o nome do Cliente está na Tabela A, a Data da Compra na Tabela B, o Item vendido na Tabela C e o Nome do Produto na Tabela D? Basta empilhar múltiplos blocos INNER JOIN ... ON como vagões de um trem!

CLIENTES Alias: c 1º ON PEDIDOS Alias: p 2º ON ITENS Alias: i 3º ON PRODUTOS Alias: pr SELECT c.nome, p.data, i.qtd, pr.titulo ➔ 4 tabelas em 1 relatório!
LABORATÓRIO GUIADO COM O PROFESSOR

Aquecimento Prático no Supabase SQL Editor

Abra seu projeto no painel do Supabase, clique em SQL Editor ➔ New Query e execute os 5 passos abaixo junto com a turma.

supabase_sql_editor — passo_01_setup.sql

                
ANÁLISE DO COMANDO 4 tabelas criadas

Prévia do Resultado no Supabase:
ATIVIDADE PRÁTICA AVALIATIVA INDIVIDUAL NO SUPABASE

32 Temas Individuais de Arquitetura & Junção Relacional

Cada aluno da turma (1 a 32) possui um ecossistema de banco de dados exclusivo. Não existem dois projetos iguais! Ao clicar no seu número de chamada/tema, o sistema abrirá o seu Dossiê Completo de Engenharia SQL (6 Fases) para construir do zero no Supabase.

Estrutura da Tarefa (6 Fases):
  • Fase 1: DDL de 4 Tabelas + PKs e FKs
  • Fase 2: Carga DML (36+ registros + Órfãos)
  • Fase 3: Auditoria CROSS JOIN vs WHERE
  • Fase 4: 4 Relatórios INNER JOIN Duplo
  • Fase 5: 4 Relatórios INNER JOIN Triplo/Quádruplo
  • Fase 6: KPIs Executivos (GROUP BY + JOIN)