Postagens

Como passei na certificação aws Cloud Practitioner em 6 dias :)

Imagem
 Fala pessoal, que saudades de escrever no blog hein! Sei que estou há tempos sem escrever nada :( Hoje eu gostaria de mostrar como eu fiz para me preparar para a certificação da aws cloud Practitioner.      Após passar na prova da az-900 na segunda às 00:30, pela manhã decidir que iria estudar para a AWS, então comecei a pesquisar as provas que estavam disponíveis e qual eu poderia obter para começar a ingressar na cloud aws, então verifiquei a cloud Practitioner que é equivalente a az-900 da Microsoft, Acessando o site da AWS verifiquei que eles tem um programa de treinamentos e um curso especifico para essa certificação, pois bem, comecei o curso na própria segunda-feira, eu achei esse curso muito bom, os instrutores possuem uma excelente didática, falam em pt-br e te ensinam brincando, lembro de uma aula onde o instrutor explica a diferença entre o S3 e o EBS, o cara se veste de juiz e na tela aparece um ringue , achei bem legal e com certeza isso fez com qu...

Window Functions: Ntile() - Construindo grupos.

Imagem
Olá pessoal, espero que estejam todos bem, hoje gostaria de falar de uma função que quase nunca vejo sendo utilizada, mas é muito útil no dia a dia, principalmente dos profissionais de BI, com essa função de janela, podemos fazer agrupamento de forma fácil e rápida. Vamos ao cenário: Temos uma tabela com 100 linhas e precisamos criar 10 grupos, ou seja a cada 10 linhas teremos um novo grupo: Muito simples não? Criamos os grupos sem o menor esforço. Agora o céu é o limite, podemos combinar essa função com uma window functions Sum, por exemplo para somar os id e reiniciar a cada grupo. Reparem que legal, eu usei a NTILE para formar um grupo, coloquei em um CTE(nada mais que uma subquery)  e após isso usei esse grupo para fazer uma soma acumulativa que reinicia a cada grupo!! Já resolvi desafios complexos de T-SQL seguindo essa linha!! Bem pessoal, hoje é algum simples, espero que tenham gostado! Até mais! query utilizada: create table #aux ( id int identity ,aux char(1) ) --rodar sep...

Sorteio voucher 500r$ em cursos

 Olá pessoal, espero que estejam todos bem!!!  Hoje vim sortear um voucher de 500r$ em cursos, segue sorteio no vídeoooo!  

Dica de performance: Eliminando cursor com Window Functions + top 1 with ties

Imagem
 Olá  pessoal, tudo bem? Hoje gostaria de dar uma dica bem legal!! Muitos de vocês já devem saber que cursor na maioria das vezes é um grande vilão de performance no SQL-SERVER, isso porque o SQL não foi feito para processamento linha a linha e sim para um processamento em lote, vamos pensar SET-BASED! Hoje estarei mostrando para vocês um caso muito comum do dia dia. Vamos ao cenários: Precisamos pegar a última compra do cliente! Simples assim. Temos a tabela  cliente_tb, que guarda os dados do cliente e a tabela   venda_tb que guarda os dados da venda, basicamente um cliente pode fazer N  compras e nós precisamos pegar a ultima. Segue cursor que vejo na maioria dos casos: drop table if exists #aux create table #aux ( id_cliente int  ,nome           varchar(250) ,dt_venda datetime  ) DECLARE @id_cliente int -- Cursor para percorrer os registros DECLARE cursor1 CURSOR FOR select id_cliente from cliente_tb --Abrind...

Window Function: SUM()

Imagem
  Olá friends, espero que estejam todos bem, a hora de nos encontrarmos nos eventos da comunidade esta chegando, que alegria dia 10 e 11 de dezembro podemos nos encontrar no treinamento da lenda do tuning, Fabiano Amorim. Bora nessa? Bem, hoje gostaria de trazer a função SUM de forma diferente, que talvez algumas pessoas ainda não conheçam, podemos utilizar a função SUM como uma window Functions e acreditem isso é muito útil. Vamos ao cenário: Temos um banco de dados fictício de contas bancarias, essas contas recebem transações, saques, depósitos e transferências, imagine que gostaríamos de puxar a tela de extrato e verificar como estava o saldo do dia em determinada data? Um excelente cenário para utilizar a window functions SUM(). Temos essa tabela e precisamos fazer uma conta acumulativa, ou seja, temos que pegar linha a linha e somar com a soma acumulada das linhas anteriores, parece complexo, mas não é, vou primeiro mostrar como quero que a conta seja feita. Abaixo explico a s...

É possível utilizar AG com versões diferentes de SQL? (Passo a passo de como montar um AG básico)

Imagem
 Olá pessoal, hoje estou trazendo um blog de cara nova e um novo tipo de postagem, geralmente eu faço postagens sobre T-SQL que é uma linguagem que eu amo, mas hoje gostaria de trazer algum diferente. Hoje irei falar sobre SQL  AlwaysOn AG(availability group), eu não irei entrar muito afundo nesse assunto, pois ele renderia uma série de posts, nesse post estarei demonstrando como criar um AG básico para fins de estudo, mas nada impede de você usar esses passos para começar a pensar em uma solução de HA/DR para sua empresa. Antes de responder a pergunta desse post, vamos criar o ambiente: Primeiro é necessário ter um ambiente em cluster(WSFCI), o que não daria tempo de demonstrar nesse post, então irei deixar uma dica de livro, onde existe um passo a passo para criar um ambiente de alta disponibilidade com AlwaysON FCI. Melhor livro de FCI em pt-br "SQL SERVER 2014 -ALTA DISPONIBILIDADE NA PRÁTICA COM ALWAYSON FAILOVER CLUSTER INSTANCES", deixarei um link no final do artigo de...

Realizando um UNPIVOT separando colunas com ";" com cross apply ou string_Agg.

Imagem
Hello my friends!! Como estão? Espero sempre que estejam muito bem.  Hoje gostaria de dar uma dica para vocês que pode ajudar bastante. Esses dias estava trabalhando quando o head da área me manda um dúvida que surgiu em dos grupos que ele estar de SQL, a primeira pergunta que fiz, foi "Nossa, que grupo técnico de SQL é esse? Que não estou", my bad :( rs.  Bem a dúvida era como fazer um "UNPIVOT"  no SQL? Bem existe o comando Pivot /Unpivot, mas hoje gostaria de mostrar formas diferentes de fazer o UNPIVOT. O cliente tinha uma tabela com as seguintes informações: Ele queria agrupar  campo "nota" e colocar o campo "Produto" em uma linha separando esses produtos com ";" Assim: Para fazer isso de forma bem simples, podemos usar o string_agg, uma função excelente de concatenação e agregação do SQL, mas cuidado, pois só estar disponível a partir do SQL 2017 Segue código: ---Opção  1, sql 2017 +  select nota,STRING_AGG(produto,';') as...