SQL Saturday #100 Brazil Windowing Functions no SQL Server 2012 SELECT * FROM (VALUES('Fabiano Neves Amorim'), ('Sr.Nimbus – SQL Server MVP'),

Slides:



Advertisements
Apresentações semelhantes
O Comando DROP INDEX Para eliminar um índice definido sobre uma tabela, utilize: Drop Index on ; Ex: No Access: Drop Index X on.
Advertisements

Object Query Language - OQL
SUPORTE À FRAGMENTAÇÃO
Banco de Dados Prof. Antonio.
SQL Avançado Continuação
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone: 9531 – 7555.
SQL Structured Query Language Juliano Brito da Justa Neves PESCD – Programa de Estágio Supervisionado de Capacitação Docente.
SQL – Comandos de Agregação
SQL – Consultas Básicas
SQL – Noções Gerais Por Márcia Jacyntha N. Rodrigues Lucena
SQL – DML Consulta a dados de uma tabela
Operadores Especiais da SQL
Oficina sobre banco de dados
SCC Bancos de Dados e Suas Aplicações
Otimização de Consultas em Data Warehouse (DW)
Material III-Bimestre Wagner Santos C. de Jesus
Funções de Linha 17/04/06.
Linguagem de Banco de Dados - SQL
Linguagem de Banco de Dados - SQL
Banco de dados Profª Kelly Medeiros.
Equipe de monitoria Aula prática 2. Apresentação do caso de estudo Conceitual Lógico Algumas informações iniciais Consultas e exercícios Surpresa... =)
Query Tuning Lílian Simão Oliveira.
Equipe de monitoria Aula prática 4.  Tipos  Tabela de Objetos  Herança  Métodos  Referências  Coleções  Composição de coleções  Conectividade.
Comandos de SQL Excel VBA II.
Banco de Dados Avançado - Prof.ª Valeria Times
Bancos de Dados SQL Server 2012 SQL DML - Data Manipulation Language)
SQL Álvaro Vinícius de Souza Coêlho
Hibernate: Consultas Francisco do Nascimento
Cronograma Formato do Comando SELECT – 1ª Seção Uso de Funções (DATE_FORMAT, DAY, MONTH, NOW, CONCAT, FORMAT, COUNT, AVG, MAX, MIN e FORMAT) AS DISTINCT.
Design Patterns / Acesso ao banco de dados (java.sql)
Banco de Dados Aplicado ao Desenvolvimento de Software
Banco de Dados Avançado
SEGUNDA FASE / S2B MIC PERNAMBUCO SEGUNDA FASE / S2B MIC PERNAMBUCO
Banco de Dados Avançado
Desenvolvendo um script SQL
Treinamento sobre SQL.
VIEW - VISÕES Professor Esp. Diego André Sant’Ana
Treinamento PHP Módulo 2 PHP Avançado Waelson Negreiros waelson.com.br “Está conosco o Senhor dos Exércitos”
Baseado no material do Professor Raul Paradeda
Linguagem de Manipulação de Dados. 2 Conteúdos Introdução ao SQL Comando SELECT – Extracção de Dados  Pesquisas Simples  Restrições na pesquisa de dados.
©Silberschatz, Korth and Sudarshan (modificado)4.1.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Funções de datas Professor Esp. Diego André Sant’Ana Disciplina: Banco de Dados II professordiegosantana.wordpress.com.
Treinamento SQL Server
Triggers (Gatilhos) Professor Esp. Diego André Sant’Ana
SQLite Banco de Dados II.
SQL Server Comando PIVOT.
Fundamentos de Banco de Dados Fundamentos de Banco de Dados Prof. Gale 2º. Semestre 2008.
Bruno Inojosa MCP.NET Framework.NET com C#. SQL Básico.
IEC Banco de Dados I Aula 04 – SQL (II) Turmas: Sistemas de Informação Professora: André Luiz da Costa Carvalho
1 Structured Query Language (SQL) 4 SQL é uma linguagem normalizada (ANSI) para consultas e actualizações de bases de dados relacionais.
©Silberschatz, Korth and Sudarshan (modificado)4.2.1Database System Concepts Capítulo 4: SQL Estrutura básica Operações com conjuntos Funções de agregação.
Daniel Paulo SQL Módulo I Daniel Paulo
Recuperação de Dados Banco de Dados Carina Farias
VBA – Visual Basic para Aplicativos
UCSal – Bacharelado em Informática
Módulo 2: Criando tipos de dados e tabelas. Visão geral do módulo Criando tipos de dados Criando tabelas Criando tabelas particionadas.
Linguagem de definição de dados - SQL
SELECT Professor: Virgílio Fries Müller www. vfm.com.br
SQL SERVER, WINDOWS E CPU Rodrigo Ribeiro
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
José Antônio da Cunha 2/6/2016 José Antônio - CEFET-RN 1 Disciplina: Banco de Dados.
Índices - Full Text Searching IFRN José Antonio da Cunha.
José Antônio da Cunha 3/6/2016 José Antônio - CEFET-RN 1 Copyright © Dale Carnegie & Associates, Inc.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Capítulo 5 Mais SQL: Consultas Complexas, Triggers e Views.
BANCO DE DADOS BASE DE DADOS – É UMA COLEÇÃO DE DADOS INTER- RELACIONADOS, REPRESENTANDO INFORMAÇÕES SOBRE UM DOMÍNIO ESPECÍFICO. EX.: LISTA TELEFONICA,
SQL Saturday #512 Salvando dados históricos com as Temporal Tables do SQL Server 2016 Felipe de Assis
Implementação e Optimização de Bancos de dados
MS-SQL Server Structure Query Language
Window Functions Logan Destefani Merazzi
Transcrição da apresentação:

SQL Saturday #100 Brazil Windowing Functions no SQL Server 2012 SELECT * FROM (VALUES('Fabiano Neves Amorim'), ('Sr.Nimbus – SQL Server MVP'), (' AS Tab("Sobre mim:")

Patrocinadores

Agenda  Set Based vs Row by Row  O que são windows functions?  Novas funções implementadas no SQL2012  O que ainda falta?  Window Frame  Demos  Perguntas e respostas

Set Based vs Row by Row

O que são windows functions? Similar as funções de agregação Retornam um valor a partir de dados agregados Padrão SQL:2008 Suportado no Oracle, DB2, PostegreSQL It’s all about Sets

Clausula OVER SELECT ID_Conta, DT_Lancamento, VL_Lancamento, SUM(VL_Lancamento) OVER(PARTITION BY ID_Conta ORDER BY DT_Lancamento RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) FROM tbLancamentos GO PARTITION BY Default WINDOW FRAME ORDER BY função de agregação + partition by + order by + window frame

SQL Server 2012  Suporte quase completo a clausula OVER()  Order by  Partition By  Window frame  Novas functions: LEAD(), LAG(), FISRT_VALUE(), LAST_VALUE(), CUME_DIST(), PERCENT_RANK(), PERCENTILE_CONT(), PERCENTILE_DISC()

Window Frame [ROWS | RANGE] BETWEEN AND UNBOUNDED PECEDING: Window inicia na primeira linha da partição. CURRENT ROW: Window inicia na linha atual. PRECEDING ou FOLLOWING UNBOUNDED FOLLOWING: Window termina na última linha da partição. CURRENT ROW: Window termina na linha atual. PRECEDING ou FOLLOWING

Window Frame, duas “janelas” USE NorthWind GO SELECT OrderID, CustomerID FROM Orders WHERE CustomerID IN (1,2) ORDER BY CustomerID

Window Frame, “janelas” coexistem

Window Frame – First_Value SELECT OrderID, CustomerID, FIRST_VALUE(OrderID) OVER(PARTITION BY CustomerID ORDER BY OrderID) AS FirstOrderID FROM Orders WHERE CustomerID IN (1,2)

Window Frame – Last_Value SELECT OrderID, CustomerID, LAST_VALUE(OrderID) OVER(PARTITION BY CustomerID ORDER BY OrderID) AS FirstOrderID FROM Orders WHERE CustomerID IN (1,2)

Window Frame – Last_Value …LAST_VALUE(OrderID) OVER(PARTITION BY CustomerID ORDER BY OrderID ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING) AS FirstOrderID...

Demonstração

O que ainda falta no SQL2012?  Funções:  FIRST, retorna o primeiro valor de um grupo ordenado MAX(Cidade) KEEP (DENSE_RANK FIRST ORDER BY SUM(Valor_Pedido))*  LAST: último valor de um grupo ordenado MIN(Cidade) KEEP (DENSE_RANK LAST ORDER BY SUM(Valor_Pedido))*  NULLs FIRST, NULLs LAST  OVER(ORDER BY Coluna1 NULLs FIRST)  Interval (Year, Month, Day, Hour, Minute, Second)  Window Clause * não standard SELECT LAG(Col1) OVER MinhaWin AS Col1 FROM Tabela1 WINDOW MinhaWin AS (ORDER BY Coluna1 ROWS 2 PRECEDING)

Recursos  Treinamentos Sr.Nimbus   Artigos simple-talk:    Artigos meu blog:  functions/ functions/  Video SQL Bits IX  Dave Ballantyne ew_in_Denali-TSQL ew_in_Denali-TSQL

Dúvidas e brindes! ? SELECT "Sobre Mim:" FROM (VALUES('Fabiano Neves Amorim'), ('Sr.Nimbus – SQL Server MVP'), (' AS Tab("Sobre mim:")