top of page

CTEs (Common Table Expressions)

  • Foto do escritor: Amanda Nascimento
    Amanda Nascimento
  • 2 de jun.
  • 1 min de leitura

As CTEs (Expressões de Tabela Comuns) são uma ferramenta poderosa no SQL Server para tornar suas consultas mais organizadas, legíveis e reutilizáveis. Elas funcionam como tabelas temporárias definidas dentro de uma única instrução SQL.


Uma CTE é uma expressão que você define com a palavra-chave WITH, como se estivesse criando uma "subconsulta nomeada". Ela existe apenas durante a execução da instrução SQL que a utiliza.


WITH CTE_ClientesSP AS (

    SELECT Nome, Cidade

    FROM Clientes

    WHERE Estado = 'SP'

)

SELECT * FROM CTE_ClientesSP;



📌 Características:

  • Existe apenas durante a execução da consulta.

  • Não ocupa espaço no tempdb diretamente.

  • Não pode ser indexada.

  • Ideal para clareza e reutilização dentro da mesma query.


CTE Recursiva (para hierarquias)

Muito útil para trabalhar com estruturas hierárquicas como organogramas, categorias, diretórios etc.


 

-- Exemplo: estrutura de gerência

WITH Hierarquia AS (

    SELECT id, nome, gerente_id

    FROM funcionarios

    WHERE gerente_id IS NULL

 

    UNION ALL

 

    SELECT f.id, f.nome, f.gerente_id

    FROM funcionarios f

    JOIN Hierarquia h ON f.gerente_id = h.id

)

SELECT *

FROM Hierarquia;

© 2017-2025  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page