Modelagem de Dados e SQL
10. SQL: consultas (SELECT)
10º capítulo da apostila Modelagem de Dados e SQL: explicação contínua e em linguagem simples sobre SQL: consultas (SELECT), com exemplos, conexões e mapa mental.
Neste capítulo · 12 seções⌄
- O fio condutor
- A ordem lógica de processamento
- Filtros, curingas e precedência
- Junções
- Agregação e agrupamento
- Subconsultas e operadores de conjunto
- CTE, recursão, janelas e CASE
- Acompanhando um caso do início ao fim
- Como os conceitos se encaixam
- Roteiro para estudar e resolver problemas
- Resumo para revisão
- Fontes e base de cobertura
Consultar é transformar relações em um novo resultado. Embora SELECT apareça primeiro na escrita, o banco precisa começar pelas fontes, aplicar junções e filtros, formar grupos e somente então projetar a saída.
O percurso começa pela representação do mundo real. Primeiro entendemos a arquitetura e os níveis de modelagem; depois construímos o modelo relacional, protegemos sua integridade e aprendemos SQL. Ao final, levamos essa base para o ambiente analítico dimensional. Este é o capítulo 10 de 12 da disciplina Modelagem de Dados e SQL. A leitura retoma SQL: DDL — definição de dados e usa essa base para avançar. Depois, seguiremos para SQL: DML e transações (TCL).
O fio condutor
Banco de dados deve ser estudado como um sistema de decisões conectadas. O significado atribuído ao dado orienta o modelo; o modelo condiciona consultas e atualizações; o SGBD executa essas operações sob regras de segurança, concorrência, desempenho e recuperação. Quando uma dessas camadas muda, as demais podem ser afetadas.
Ao longo da leitura, acompanhe sempre quatro perguntas: qual problema está sendo resolvido, qual estrutura representa o problema, que garantia precisa ser preservada e qual custo acompanha a escolha. Esse roteiro ajuda a compreender os conceitos em vez de apenas memorizar nomes.
A ordem lógica de processamento
Começamos por A ordem lógica de processamento, pois essa base permite compreender as decisões apresentadas nas seções seguintes.
A ordem de escrita é SELECT … FROM … WHERE … GROUP BY … HAVING … ORDER BY. A ordem de avaliação é outra: FROM (com as junções) → WHERE (filtra linhas) → GROUP BY (forma grupos) → HAVING (filtra grupos) → SELECT (calcula a projeção e os aliases) → ORDER BY (ordena).
DISTINCT atua sobre a combinação completa de colunas projetadas, nunca sobre a primeira apenas: em SELECT DISTINCT cidade, uf, a mesma cidade reaparece se estiver ligada a UFs diferentes. E o SQL opera sobre multiconjuntos — sem DISTINCT, linhas repetidas permanecem, ao contrário da projeção da álgebra relacional.
Repare como FROM antes de SELECT, Alias só depois, DISTINCT sobre a linha participam da mesma decisão. Ao relacionar esses elementos, fica mais fácil prever o comportamento do banco e reconhecer os efeitos de cada escolha.
Filtros, curingas e precedência
A seção anterior apresentou A ordem lógica de processamento. Agora chegamos a Filtros, curingas e precedência, que acrescenta a próxima peça do mesmo raciocínio.
BETWEEN a AND bé intervalo fechado: equivale a>= a AND <= b. A ordem importa —BETWEEN 200 AND 100não retorna nada.- No
LIKE,%casa zero ou mais caracteres e_casa exatamente um.'Ma%'pega o que começa com Ma;'%Ma%'pega o que contém Ma;'Ma_'exige três caracteres. - Para procurar o próprio
%ou_como texto, usa-seESCAPE:observacao LIKE '%#%%' ESCAPE '#'. IN ('SP','RJ')equivale à disjunção de igualdades;NOT INequivale à conjunção de desigualdades.- A precedência lógica é
NOT→AND→OR. Assim,categoria = 'A' OR categoria = 'B' AND preco > 100lê-secategoria = 'A' OR (categoria = 'B' AND preco > 100).
Continue lendo de graça
O capítulo inteiro está liberado no plano gratuito
Criar conta leva menos de um minuto e não pede cartão. Você destrava o texto completo, o mapa mental, o PDF para estudar off-line e ainda resolve questões inéditas todo dia.
Leu o resumo? Agora pratique.
São 70 questões inéditas de SQL: consultas (SELECT), todas comentadas alternativa por alternativa.
Você volta para este capítulo depois de criar a conta.
Fontes consultadas
- ISO/IEC 9075 (padrão SQL)
- Elmasri & Navathe, Sistemas de Banco de Dados — caps. 6 e 7
- Silberschatz, Korth & Sudarshan, Sistema de Banco de Dados — caps. 3 a 5
- Documentação oficial do PostgreSQL (SELECT, junções, funções de janela, WITH)
- Acervo comentado de Banco de Dados — SQL: consultas (SELECT) (70 questões publicadas), conferido em 14/09/2026