Artigo: 7            
   Dica: QUALIFY é tipo uma carta na manga. Depois que você descobre, começa a usar em todo lugar.

O comando SQL abaixo, é super útil e você provavelmente ainda nao usa:

QUALIFY é tipo uma carta na manga. Depois que você descobre, começa a usar em todo lugar.

Pra que serve o QUALIFY?
1. Deixa as consultas mais simples
2. Torna o código mais fácil de entender


Apesar de ser considerado SQL “avançado”, ele simplifica muito as coisas.
Veja um exemplo. Normalmente, você faz algo assim:
• Usa uma função de janela(Window function) como ROW_NUMBER() ou RANK() para numerar suas linhas.
• Faz uma subconsulta com WHERE para pegar só a linha número 1.

Isso dá um trabalhão. Com QUALIFY, fica muito mais fácil:

• Simplesmente use QUALIFY!

A notícia ruim é que QUALIFY não está disponível em todas as versões de SQL nem em todos os sistemas de gerenciamento de banco de dados (SGBD). Atualmente, QUALIFY é suportado principalmente pelo Snowflake e pelo Teradata. Outros SGBDs populares, como PostgreSQL, MySQL, Oracle e SQL Server, não suportam QUALIFY.
Nesses casos, o jeito é seguir a abordagem tradicional e torcer para os SGBDs adicionarem o QUALIFY nas versões futuras!


Um exemplo de código SQL para mostrar a diferença: muito mais limpo e fácil de entender!
Sem QUALIFY

SELECT * FROM 
        ( SELECT *, ROW_NUMBER() OVER (
                                       PARTITION BY category ORDER BY date DESC) 
         ASC rownum FROM orders ) 
sub WHERE rownum = 1; 


Com QUALIFY

 SELECT *, ROW_NUMBER() OVER (PARTITION BY category ORDER BY date DESC) AS row_num 
 FROM orders 
 QUALIFY row_num = 1;


Sabemos que o cantinho da bagunça pode ser muito conveniente para o dia a dia, então criei o meu aqui na web

Quantidade de Artigos 800
Se quiser mandar mensagem é só mandar mensagem neste link.
Boa parte dos codigos aqui descritos estão em meu Git: Click aqui para ser redirecionado.