Expressões de tabela SQL comuns para usuários do LuckyTemplates

Neste blog, discutiremos algumas expressões de tabela comuns, também conhecidas como CTEs . Se você encontrar problemas complexos, usar essas expressões de tabela SQL pode ajudá-lo.

Com o CTE , você pode dividir qualquer tarefa em consultas pequenas e gerenciáveis ​​para resolver problemas complicados.

Agora vamos explorar como o CTE pode tornar seu trabalho mais eficiente na solução de problemas de códigos.

Índice

Sintaxe para criar expressões de tabela SQL comuns 

Primeiro, você deve digitar “ WITH ” seguido do nome da sua expressão CTE , seguido de “ AS ”.

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Depois disso, você pode fornecer qualquer consulta entre parênteses. Isso será armazenado no nome da expressão fornecida que funcionará como uma tabela virtual.

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Em seguida, adicione uma instrução SELECT usando a tabela virtual que você criou por meio do nome da expressão que você definiu.

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Para o nosso exemplo, usaremos “ USACusts ” para o nome da Expressão .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

E para a consulta, usaremos este código. 

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Esta consulta criará uma tabela virtual. Ele mostrará um valor total ou agregado agrupado por ID do cliente, onde o país ao qual ele pertence é “ EUA ”. Os dados serão extraídos da tabela Sales.Customers .

Duas colunas estarão visíveis, que são custid e Agg_Amount . Observe que a tabela USACusts não é uma tabela física , mas apenas uma tabela virtual. Isso significa que não ficará visível em nosso banco de dados.

Após a consulta, podemos adicionar uma instrução SELECT .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Esta instrução selecionará todos os Agg_Amount maiores que 1000 da tabela USACusts .

Múltiplas expressões de tabela SQL comuns 

Vários CTEs podem ajudá-lo a resolver erros complexos em seu código, dividindo-os em partes menores. Além disso, você pode definir quantos CTEs desejar. Abaixo está um exemplo de vários CTEs .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Para este exemplo, temos o primeiro CTE que é C1 . A partir daí, selecionamos YEAR(orderdate) e criamos 2 colunas que são orderyear e custid da tabela Sales.Orders .

Para o segundo CTE denominado C2 , selecionamos orderyear e reunimos o número de custid usando o comando COUNT . Em seguida, o nomeamos como numcusts de C1 . Uma condição WHERE também foi adicionada em C2 para selecionar apenas o ano de pedido maior que 2015 . Em seguida, os agrupamos por ano de pedido .

Depois disso, selecionamos orderyear e numcusts de C2 . Em seguida, adicionamos uma condição WHERE para selecionar apenas o número de clientes maior que 500 .

Resumindo, este código é usado para selecionar clientes cujo ano de pedido é maior que 2015 e selecionar apenas o número de clientes acima de 500 com base na condição ano de pedido .

Usando Múltiplos CTEs para Resolver Códigos Complexos

A seguir, demonstrarei mais exemplos para enfatizar ainda mais o uso de CTEs na solução de problemas de um grande conjunto de dados. Aqui está outro exemplo de vários CTEs .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Observe que você pode nomear CTEs da maneira que desejar, mas para este blog, estamos usando C1 , C2 , C3 e assim por diante para identificar e entender facilmente como os utilizamos em nossos exemplos.

Voltando ao exemplo, criamos o C1 para selecionar apenas as vendas onde a quantidade do pedido for maior que 5 da tabela Sales.SalesOrderDetails .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Em seguida, em C2 , utilizamos os dados que armazenamos em C1 para unir o produto com base no Product.ID e os agrupamos por nome do produto (p.Name) e cor do produto (p.Color) .

Como declaramos uma condição em C1 , agruparemos o nome do produto e a cor do produto em C2 apenas para pedidos em que a quantidade do pedido (OrderQty) seja maior que 5 .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Depois disso, usaremos um comando para selecionar todos os dados de C2 com uma quantidade de pedido maior que 1000 .

Para fins de solução de problemas, você pode simplesmente selecionar cada um dos CTEs que criou para verificar se está mostrando os dados corretos. Consulte os exemplos abaixo.

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Para C1 , está mostrando todos os dados da tabela Sales.SalesOrderDetail com uma quantidade de pedido maior que 5 .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Em seguida, C2 mostra uma saída da quantidade do pedido agrupada por nome e cor do produto de C1 . Em C2 , podemos ver a coluna orderqty , mas na verdade não temos isso em C2 porque é apenas uma coluna calculada que geramos a partir de C1 . A partir daqui, podemos começar a usar qualquer condição na coluna orderqty e executar a solução de problemas.

Portanto, agora você pode ver como vários CTEs podem nos ajudar a resolver erros em códigos complexos, armazenando-os em CTEs e iniciando a solução de problemas sem danificar o código real.

Usando CTEs com declaração de caso

Vejamos outro exemplo com o mesmo contexto para mostrar como podemos utilizar vários CTEs na solução de problemas de códigos complexos. 

Nesse caso, usaremos uma instrução CASE que criará uma coluna Product Category com resultados baseados na quantidade agregada de orderqty de C2 .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Conforme mencionado anteriormente, não tínhamos o qty do pedido no primeiro CTE , bem como a Categoria do Produto , mas utilizamos tabelas intermediárias para calcular e realizar cálculos diferentes.

No próximo exemplo, criaremos um valor agregado com base na categoria de produto que criamos no exemplo anterior. Mas, para fazer isso, colocaremos a instrução CASE para a categoria do produto no terceiro CTE , que é C3 .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Antes de prosseguir, vamos verificar a saída de C3 adicionando “ SELECT * FROM C3 ” abaixo de C3 .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Em C3, podemos ver as colunas ProductName , Color , orderqty e Product Category . A partir daqui, podemos começar a agregar com base na categoria do produto . Vamos fazer isso usando o seguinte comando abaixo de C3 .

Expressões de tabela SQL comuns para usuários do LuckyTemplates

O exemplo abaixo é o resultado após criar um valor agregado usando o comando acima.

Expressões de tabela SQL comuns para usuários do LuckyTemplates

Inicialmente, não tínhamos as colunas Product Category e orderqty , mas podemos gerar saídas de amostra com base nessas colunas utilizando vários CTEs .

Neste ponto, você pode ver que podemos fazer qualquer coisa com a ajuda dos CTEs para trabalhar com nossos códigos de maneira mais eficiente.

Tabelas e exibições temporárias SQL para filtro de usuário do LuckyTemplates
em SQL usando IN, NOT IN, LIKE e NOT LIKE
Extração de dados SQL usando OFFSET e FETCH

Conclusão

Neste tutorial, você aprendeu a sintaxe adequada para criar Expressões de Tabela SQL Comuns e como utilizar várias CTEs na solução de problemas de códigos complexos, isolando pequenas partes de dados e armazenando-as dentro de uma determinada CTE .

Ao aprender isso, você agora tem a capacidade de depurar seus códigos com mais eficiência. Lembre-se que você pode usar qualquer nome para CTE e não pode usar ou chamar qualquer CTE a menos que seja criado. Depois de se familiarizar com o CTE , você pode se considerar um usuário intermediário do SQL .

Se você quiser saber mais sobre este tópico e outros conteúdos relacionados, certamente pode conferir a lista de links relevantes abaixo.

Tudo de bom,

Hafiz

Leave a Comment

Colunas calculadas no SharePoint | Uma visão geral

Colunas calculadas no SharePoint | Uma visão geral

Descubra a importância das colunas calculadas no SharePoint e como elas podem realizar cálculos automáticos e obtenção de dados em suas listas.

Atributos pré-atentivos: como isso pode afetar seu relatório

Atributos pré-atentivos: como isso pode afetar seu relatório

Descubra todos os atributos pré-atentivos e saiba como isso pode impactar significativamente seu relatório do LuckyTemplates

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Calcular Dias de Estoque Zero – LuckyTemplates Inventory Management Insights

Aprenda a contar o número total de dias em que você não tinha estoque por meio dessa técnica eficaz de gerenciamento de inventário do LuckyTemplates.

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Usando exibições de gerenciamento dinâmico (DMV) no DAX Studio

Saiba mais sobre as exibições de gerenciamento dinâmico (DMV) no DAX Studio e como usá-las para carregar conjuntos de dados diretamente no LuckyTemplates.

Variáveis ​​e expressões dentro do editor do Power Query

Variáveis ​​e expressões dentro do editor do Power Query

Este tutorial irá discutir sobre Variáveis e Expressões dentro do Editor do Power Query, destacando a importância de variáveis M e sua sintaxe.

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Como calcular a diferença em dias entre compras usando o DAX no LuckyTemplates

Aprenda a calcular a diferença em dias entre compras usando DAX no LuckyTemplates com este guia completo.

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calculando a média no LuckyTemplates: isolando os resultados do dia da semana ou do fim de semana usando o DAX

Calcular uma média no LuckyTemplates envolve técnicas DAX para obter dados precisos em relatórios de negócios.

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

O que é self em Python: exemplos do mundo real

Como salvar e carregar um arquivo RDS em R

Como salvar e carregar um arquivo RDS em R

Você aprenderá como salvar e carregar objetos de um arquivo .rds no R. Este blog também abordará como importar objetos do R para o LuckyTemplates.

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Primeiros N dias úteis revisitados - uma solução de linguagem de codificação DAX

Neste tutorial de linguagem de codificação DAX, aprenda como usar a função GENERATE e como alterar um título de medida dinamicamente.