3rd Jul 2025 6 minutos de leitura Como escrever consultas SQL que qualquer pessoa pode entender Jakub Romanowski sql tips noções básicas de sql Índice Por que escrever SQL compreensível é importante Entenda a ordem de processamento do SQL Divida as consultas longas em partes (usando CTEs) Use todas as letras maiúsculas para palavras-chave SQL Indentar seu código Uma cláusula por linha Use aliases significativos Use AS para renomear colunas Evite SELECT * Adicionar comentários úteis Use índices quando necessário Não se repita Use ferramentas que ajudem Pronto para continuar aprendendo? Escrever SQL que funcione é uma coisa. Escrever SQL que outra pessoa possa ler e dizer: "Ah, entendi!" é um nível totalmente diferente. E, sinceramente? É uma das coisas mais úteis que você pode aprender quando trabalha com dados. Seja para criar relatórios, analisar o comportamento do cliente ou responder a uma pergunta rápida do seu chefe, você provavelmente usará SQL. E se esse SQL for confuso ou desorganizado, você deixará todos mais lentos, inclusive você mesmo. Este guia o ajudará a escrever consultas SQL que sejam fáceis de ler, simples de ajustar e que realmente façam sentido para outras pessoas, mesmo que você ainda não conheça o SQL. Deseja praticar SQL com exercícios amigáveis para iniciantes? Experimente o cursoSQL para Iniciantes em LearnSQL.com. Por que escrever SQL compreensível é importante O SQL não é apenas para máquinas. É claro que o banco de dados executa suas consultas, mas pessoas reais também precisam lê-las. E se o seu SQL for confuso ou desorganizado, você não estará apenas dificultando a vida dos outros, mas também a sua própria. Escrever um SQL claro economiza tempo. Isso facilita a correção de bugs, a colaboração com colegas de equipe e a revisão de códigos antigos mais tarde, sem coçar a cabeça. Pense nisso como se estivesse escrevendo um bilhete para si mesmo ou para um colega de equipe no futuro - deixe-o claro o suficiente para que não precise de tradução. O SQL legível também mostra que você se importa. Isso faz parte de ser um bom comunicador. E quando se está em uma equipe, isso é muito importante. Você já abriu uma consulta gigante de 100 linhas sem comentários e com nomes de variáveis pouco claros? Agora imagine tentar consertá-la sob pressão. Não é divertido. Entenda a ordem de processamento do SQL Você pode escrever o SQL de cima para baixo, mas o banco de dados não o lê dessa forma. Aqui está a ordem real que ele segue: FROM WHERE GROUP BY HAVING SELECT ORDER BY LIMIT Entender isso o ajuda a estruturar sua lógica e a identificar erros com mais facilidade. Divida as consultas longas em partes (usando CTEs) Em vez de amontoar tudo em uma consulta longa, use CTEs (Common Table Expressions) para dividir a lógica em etapas gerenciáveis. Aqui está uma versão usando uma subconsulta: SELECT * FROM ( SELECT customer_id, COUNT(*) AS order_count FROM orders GROUP BY customer_id ) AS subquery WHERE order_count > 5; Agora, aqui está a mesma lógica usando um CTE: WITH orders_cte AS ( SELECT customer_id, COUNT(*) AS order_count FROM orders GROUP BY customer_id ) SELECT * FROM orders_cte WHERE order_count > 5; Essa versão é mais fácil de acompanhar. Ela conta a história passo a passo e torna seu código mais fácil de reutilizar, testar e manter. Use todas as letras maiúsculas para palavras-chave SQL Colocar palavras-chave como SELECT, FROM e WHERE em maiúsculas ajuda a destacá-las e melhora a legibilidade. Essa é uma prática comum que facilita a verificação das consultas. Indentar seu código A indentação mostra como as diferentes partes da consulta se relacionam entre si. Quando você usa subconsultas ou lógica complexa, a indentação deixa a estrutura clara. Compare estes exemplos: Sem indentação: SELECT customer_id FROM (SELECT customer_id, COUNT(*) AS total_orders FROM orders GROUP BY customer_id) AS subquery WHERE total_orders > 5; Com indentação: SELECT customer_id FROM ( SELECT customer_id, COUNT(*) AS total_orders FROM orders GROUP BY customer_id ) AS subquery WHERE total_orders > 5; Uma cláusula por linha Dividir as consultas em linhas separadas para cada cláusula (SELECT, FROM, WHERE, etc.) facilita a verificação e a depuração: SELECT customer_id, COUNT(*) AS order_count FROM orders WHERE status = 'delivered' GROUP BY customer_id; Use aliases significativos Evite aliases curtos e vagos como a, b, ou t1. Em vez disso, use aliases que descrevam o que é a tabela: SELECT o.customer_id FROM orders AS o Ou melhor ainda: SELECT orders.customer_id FROM orders Use aliases somente quando necessário e certifique-se de que eles ajudem, não confundam. Use AS para renomear colunas Se estiver criando novas colunas, como totais ou médias, use AS para dar nomes claros a elas: SELECT COUNT(*) AS total_orders Isso facilita a compreensão dos resultados e mantém o resultado claro e profissional. Evite SELECT * Obter todas as colunas usando SELECT * pode parecer fácil, mas pode causar problemas: Inclui dados desnecessários ou confidenciais Torna suas consultas mais lentas Torna seu código mais difícil de entender e manter Em vez disso, liste as colunas de que você realmente precisa: SELECT customer_id, order_date, total_amount FROM orders Adicionar comentários úteis Use o endereço -- para adicionar comentários no SQL. Os comentários explicam por que sua consulta faz algo, o que geralmente é mais útil do que o que ela faz. Exemplo: -- Only show active customers who ordered in the last 30 days WHERE customer_status = 'active' AND order_date >= CURRENT_DATE - INTERVAL '30 days' Os comentários são como anotações para seu futuro eu - ou para a próxima pessoa que estiver trabalhando na consulta. Use índices quando necessário Se você costuma filtrar ou unir dados por uma coluna específica, essa coluna pode se beneficiar de um índice. Os índices ajudam o banco de dados a encontrar dados mais rapidamente. Se não tiver certeza de quais colunas estão indexadas, pergunte ao administrador do banco de dados ou verifique o esquema. Não se repita Se estiver calculando algo complexo, faça-o uma vez e reutilize-o - não repita a lógica. Os CTEs são perfeitos para isso: WITH order_totals AS ( SELECT customer_id, SUM(total_amount) AS total_spent FROM orders GROUP BY customer_id ) SELECT * FROM order_totals WHERE total_spent > 1000; Use ferramentas que ajudem Aqui estão algumas ferramentas para iniciantes que podem facilitar a escrita de SQL: Formatador de SQL - Limpa automaticamente seu código com espaçamento e estrutura adequados. Experimente um no VS Code ou em seu editor de SQL favorito. Embelezadores on-line - Sites como o org permitem que você cole consultas confusas e receba de volta uma versão limpa instantaneamente. SQL Linters - Essas ferramentas verificam se há erros ou formatação inconsistente em suas consultas e sugerem melhorias. São ótimas para aprender as práticas recomendadas à medida que você avança. O uso dessas ferramentas ajuda você a criar hábitos melhores e a escrever SQL mais claro com mais rapidez. Pronto para continuar aprendendo? Você chegou até aqui - e isso já o coloca à frente do jogo. Se quiser continuar a desenvolver suas habilidades de forma prática e agradável, a melhor próxima etapa é a prática. Aqui estão alguns recursos úteis do site LearnSQL.com.br: SQL para Iniciantes - Construa sua base com habilidades essenciais de SQL. Cláusulas JOIN em SQL - Saiba como combinar dados em várias tabelas. 20 exemplos de consultas SQL básicas para iniciantes Escolha uma consulta confusa do seu próprio trabalho e limpe-a usando o que você aprendeu. Em seguida, faça outra. Em breve, escrever SQL limpo e fácil de entender parecerá natural. Tags: sql tips noções básicas de sql