WITH (expressões de tabela comuns)

Dê um nome a uma subconsulta com WITH e depois leia-a na consulta principal como se fosse uma tabela.

Sintaxe

WITH name AS (SELECT …) SELECT … FROM name;
  • Você pode nomear várias subconsultas, separadas por vírgulas.

Exemplo

WITH counts AS (SELECT customer_id, COUNT(*) AS orders FROM orders GROUP BY customer_id) SELECT customer_id, orders FROM counts WHERE orders >= 2;

Clientes com pelo menos dois pedidos.

Tabelas usadas: orders. Experimente em uma lição abaixo.

Erros comuns

  • Um nome do WITH vale apenas para uma consulta. Use uma tabela quando precisar dos dados depois.

Pratique