image

Bolsas de estudo DIO PRO para acessar bootcamps ilimitados

Disponible sólo:

37 vacantes
Article image
Custódio Junior
Custódio Junior18/02/2026 18:40
Compartir
Microsoft Azure Cloud Native 2026Recomendado para tiMicrosoft Azure Cloud Native 2026

View, CTE e Subquery — Você sabe a diferença?

    Olá, pessoal! Meu nome é Custódio e estou em plena transição de carreira para Análise de Dados.

    Estudando SQL aqui na DIO, percebi que existem várias formas de chegar ao mesmo resultado, mas o "pulo do gato" está em saber como e quando usar cada ferramenta para manter o código limpo e performático.

    Hoje, quero compartilhar o que aprendi sobre a tríade: Subquery, CTE e View.

    O Cenário

    Imagine que temos a tabela funcionarios e nosso objetivo é listar quem ganha acima da média da empresa ($6.000$).

    1. Subquery: O "Quebra-galho" Rápido

    A Subquery é uma consulta dentro de outra. Ela é excelente para resoluções rápidas e pontuais.

    SELECT nome, salario
    FROM funcionarios
    WHERE salario > (SELECT AVG(salario) FROM funcionarios);
    
    • Quando usar: Em filtros simples onde o resultado de uma consulta alimenta a outra.
    • Ponto de atenção: Se ficar muito aninhada (uma dentro da outra), o código vira uma "cebola" difícil de ler.

    2. CTE (Common Table Expression): Organização e Elegância

    A CTE fatias a consulta em partes lógicas. É como criar variáveis temporárias para o seu SQL. Ela sempre começa com a cláusula WITH.

    WITH media_empresa AS (
      SELECT AVG(salario) AS media
      FROM funcionarios
    )
    SELECT f.nome, f.salario
    FROM funcionarios f, media_empresa m
    WHERE f.salario > m.media;
    
    • Quando usar: Em consultas complexas que precisam de uma sequência lógica ou recursividade. É muito mais fácil de ler e manter que uma Subquery.

    3. View: A Consulta "Imortal"

    Diferente das anteriores, a View fica salva no seu banco de dados. Ela não armazena os dados em si, mas sim a receita (o código).

    CREATE VIEW vw_funcionarios_acima_media AS
    SELECT nome, salario
    FROM funcionarios
    WHERE salario > (SELECT AVG(salario) FROM funcionarios);
    

    Como usar:

    SELECT * FROM vw_funcionarios_acima_media;
    
    • Quando usar: Quando você tem uma regra de negócio que se repete todo dia. Em vez de reescrever o código, você apenas chama a View.

    Em resumo:

    • Subquery → Resolução rápida e interna.
    • CTE → Organização de códigos complexos e legibilidade.
    • View → Reutilização e padronização no banco de dados.

    Espero ter ajudado alguém com essas dicas, pois como tenho aprendido, a melhor forma de aprender é compartilhando conhecimento.

    Tá, mas e você, já conhecia essa consultas ou utiliza no seu dia a dia de estudos/trabalho?

    🔗 Caso queria podemos nos conectar, oque acha?

    Compartir
    Recomendado para ti
    Riachuelo - Cibersegurança
    Microsoft Certification Challenge #5 - AZ-204
    Microsoft Certification Challenge #5 - DP 100
    Comentarios (0)
    Recomendado para tiMicrosoft Azure Cloud Native 2026