Skip to content
Informática · 11.º Ano

Ideias de aprendizagem ativa

SQL: Joins e Subconsultas

Este tópico exige que os alunos dominem visualizações de dados relacionais, um desafio que a aprendizagem ativa resolve através da manipulação direta de tabelas. Quando os estudantes experimentam diferentes tipos de joins com dados reais, a abstração do SQL torna-se concreta, permitindo que internalizem padrões que a teoria sozinha não consegue transmitir.

Aprendizagens EssenciaisDGE: Secundário - Bases de DadosDGE: Secundário - Linguagens de Consulta
25–45 minPares → Turma inteira4 atividades

Atividade 01

Ensino pelos Pares30 min · Pares

Ensino pelos Pares: Junções Básicas em Dupla

Forneça duas tabelas de exemplo (clientes e produtos). Cada par escreve consultas INNER JOIN para listar compras, testa no SQLite e compara resultados. Em seguida, alteram para LEFT JOIN e discutem diferenças observadas nos resultados.

Como podemos combinar informações de tabelas relacionadas para obter uma visão completa dos dados?

Sugestão de FacilitaçãoDurante a atividade de pares, forneça aos alunos tabelas impressas com dados desequilibrados e peça-lhes que desenhem setas entre as tabelas antes de escreverem o código SQL, para visualizarem os relacionamentos.

O que observarApresente aos alunos um esquema de base de dados com três tabelas (ex: Clientes, Encomendas, Produtos). Peça-lhes para escreverem uma consulta SQL que utilize um LEFT JOIN para listar todos os clientes e as suas encomendas (mesmo que não tenham encomendas). Verifique se a sintaxe está correta e se o resultado esperado é compreendido.

CompreenderAplicarAnalisarCriarAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 02

Aprendizagem Baseada em Problemas45 min · Pequenos grupos

Pequenos Grupos: Cenário de Vendas com Subconsultas

Divida a turma em grupos de 4. Cada grupo recebe um conjunto de tabelas de vendas e constrói subconsultas para encontrar o cliente com mais compras ou o produto mais vendido. Partilham e validam as consultas na sala.

Diferencie INNER JOIN, LEFT JOIN e RIGHT JOIN com exemplos práticos.

Sugestão de FacilitaçãoPara o cenário de vendas em grupos, atribua papéis: um aluno gere a tabela de encomendas, outro a de clientes, e um terceiro a de produtos, forçando a colaboração na construção da consulta.

O que observarEntregue a cada aluno uma folha com duas perguntas: 1. Escreva uma frase que diferencie INNER JOIN de LEFT JOIN. 2. Dê um exemplo de uma situação onde uma subconsulta seria útil para obter dados específicos.

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 03

Aprendizagem Baseada em Problemas25 min · Turma inteira

Turma Inteira: Depuração de Consultas Erradas

Projete consultas com erros comuns de JOINs e subconsultas. A turma discute em voz alta, vota em correções e testa coletivamente num ambiente partilhado como DB Fiddle.

Construa subconsultas para resolver problemas que exigem múltiplas etapas de filtragem ou agregação.

Sugestão de FacilitaçãoNa depuração em turma, projete consultas com erros comuns (ex: esquecer o ON, usar WHERE em vez de ON) e peça aos alunos que identifiquem os problemas em voz alta, promovendo discussão coletiva.

O que observarDivida os alunos em pares. Um aluno escreve uma consulta SQL complexa que envolva um JOIN e uma subconsulta para resolver um problema dado (ex: encontrar clientes que fizeram mais de 5 encomendas num determinado mês). O outro aluno avalia a consulta, verifica a sua correção e sugere melhorias. Trocam de papéis.

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Atividade 04

Individual: Desafio de Subconsultas Avançadas

Atribua problemas personalizados baseados em interesses dos alunos, como análise de dados desportivos. Cada aluno constrói e otimiza uma subconsulta, submetendo para feedback peer-to-peer.

Como podemos combinar informações de tabelas relacionadas para obter uma visão completa dos dados?

Sugestão de FacilitaçãoNo desafio individual de subconsultas avançadas, forneça uma lista de problemas reais (ex: 'Encontre os 3 clientes com maior valor médio de encomenda por região') e observe como aplicam agregações e filtros aninhados.

O que observarApresente aos alunos um esquema de base de dados com três tabelas (ex: Clientes, Encomendas, Produtos). Peça-lhes para escreverem uma consulta SQL que utilize um LEFT JOIN para listar todos os clientes e as suas encomendas (mesmo que não tenham encomendas). Verifique se a sintaxe está correta e se o resultado esperado é compreendido.

AnalisarAvaliarCriarTomada de DecisãoAutogestãoCompetências Relacionais
Gerar Aula Completa

Algumas notas sobre lecionar esta unidade

Os professores experientes começam com exemplos simples, como ligar duas tabelas com 10 registos visíveis. Evitam explicar joins abstratamente; em vez disso, mostram como a mesma consulta produz resultados diferentes consoante o tipo de join escolhido. Usam analogias do mundo real, como 'INNER JOIN é como um filtro que só deixa passar quem tem correspondência, enquanto LEFT JOIN é como uma lista de todos os convidados, mesmo os que não vieram'. O erro é parte central do processo: diagnosticar porque uma consulta devolve zero linhas ensina mais do que dez exemplos corretos.

No final, os alunos devem escrever consultas SQL precisas para qualquer cenário de junção ou subconsulta, justificando as suas escolhas com base nos resultados obtidos. Espera-se que discutam em voz alta as diferenças entre INNER JOIN, LEFT JOIN e RIGHT JOIN, bem como quando usar subconsultas em vez de joins.


Atenção a estes erros comuns

  • Durante a atividade 'Pares: Junções Básicas em Dupla', watch for alunos que assumem que INNER JOIN e LEFT JOIN são intercambiáveis sem testar com dados reais.

    Peça-lhes que modifiquem a mesma consulta, alterando apenas INNER para LEFT, e observem como os resultados mudam ao adicionar registos sem correspondência na tabela direita, usando os dados desequilibrados fornecidos.

  • Durante a atividade 'Pequenos Grupos: Cenário de Vendas com Subconsultas', watch for alunos que evitam subconsultas por crença generalizada de que são sempre lentas.

    Peça-lhes que cronometrem uma consulta com JOIN e outra equivalente com subconsulta sobre os mesmos dados, usando a ferramenta de tempo do SGBD, e discutam quando cada abordagem é mais eficiente.

  • Durante a atividade 'Turma Inteira: Depuração de Consultas Erradas', watch for alunos que desvalorizam RIGHT JOIN por considerarem que é apenas um LEFT JOIN invertido semanticamente.

    Apresente um fluxo de dados assimétrico (ex: uma tabela de clientes sem encomendas recentes) e peça-lhes que modelem a consulta ideal usando RIGHT JOIN, discutindo porque LEFT JOIN não seria a escolha natural neste contexto.


Metodologias usadas neste resumo