UNPIVOT (SQL)
O oposto do PIVOT — transforma colunas em linhas. Converte uma tabela larga (uma coluna por mês: jan, fev, mar …) numa estreita, com uma linha por (mês, valor). Útil para normalizar dados "em formato de planilha" numa forma amigável a consultas.
Caso de uso: alguém entrega os dados em formato largo (cada medição numa coluna), mas você os quer em formato longo/normalizado, para agregar, filtrar e fazer joins. SQL Server e Oracle têm a sintaxe UNPIVOT. Um padrão portável no PostgreSQL: SELECT id, 'jan' AS month, jan AS value FROM t UNION ALL SELECT id, 'feb', feb FROM t ..., ou de forma mais elegante com LATERAL (VALUES (...)). O PostgreSQL também pode usar unnest() com arrays. Regra geral: o "formato longo" (estreito) é quase sempre melhor para análise e armazenamento do que o "formato largo" — o UNPIVOT é a ferramenta para chegar lá. Um complemento do PIVOT, no sentido contrário.