Capítulo 8. Conceitos avançados de consulta
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Este capítulo aborda algumas formas avançadas de manipular dados utilizando consultas SQL, para além das seis cláusulas principais abordadas no Capítulo 4, "Noções básicas de consulta", e das palavras-chave comuns abordadas no Capítulo 7, "Operadores e funções".
A Tabela 8-1 inclui descrições e exemplos de código dos quatro conceitos abordados neste capítulo.
| Conceito | Descrição | Exemplo de código |
|---|---|---|
Se uma condição for satisfeita, devolve um determinado valor. Caso contrário, devolve outro valor. |
SELECT house_id, CASE WHEN flg = 1 THEN 'for sale' ELSE 'sold' END FROM houses; |
|
Divide os dados em grupos, agrega os dados dentro de cada grupo e devolve um valor para cada grupo. |
SELECT zip, AVG(ft) FROM houses GROUP BY zip; |
|
Divide os dados em grupos, agrega ou ordena os dados dentro de cada grupo e devolve um valor para cada linha. |
SELECT zip, ROW_NUMBER() OVER (PARTITION BY zip ORDER BY price) FROM houses; |
|
Transforma os valores de uma coluna em várias colunas ou consolida várias colunas numa única coluna. Suportado por Oracle e SQL Server. |
-- Oracle syntax
SELECT *
FROM listing_info
PIVOT
(COUNT(*) FOR
room IN ('bd','br'));
|
Este capítulo descreve cada um dos conceitos da Tabela 8-1 ...