Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Usando SQL para geração de relatórios (Recursos Básicos) - Revista SQL Magazine 94
Este artigo é parte de uma série e neste texto apresento recursos básicos, como uso de funções escalares, agrupamentos de dados, cláusulas SQL disponíveis e alguns operadores úteis. O estudo destes itens irá auxiliar o leitor iniciante em SQL a criar consultas e relatórios básicos.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
[Artigo disponível no Leitor Digital DevMedia. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da SQL Magazine 94
É consenso entre os especialistas que SQL não é a
melhor linguagem para criação de consultas complexas, já que sua função
principal é a recuperação e gerenciamento de dados. Apesar de estas serem uma
verdade inegável, é muito comum nos depararmos com situações em que ele, o SQL,
é a única ferramenta que temos à mão para criação de um relatório. Isso ocorre
muitas vezes por questão de custos, já que nem sempre é economicamente viável
optar pela compra de uma solução especializada. Este cenário é muito comum no
dia-a-dia das empresas e, no fim das contas, somos forçados a usá-lo.
Por esta razão, eu considero importante que todo
profissional de banco de dados conheça os principais recursos do SQL para
atender as solicitações dos seus usuários. Neste sentido, é importante termos
em mente uma definição básica ao se trabalhar com consultas SQL que é a
definição de expressão SQL. A definição que temos para o termo expressão é
bastante simples: uma expressão retorna um valor. Os tipos utilizados em uma
expressão variam bastante, cobrindo diferentes tipos de dados como string,
numeric e boolean. Na verdade, quase tudo que inserirmos depois do SELECT ou
FROM em um comando SQL pode ser considerado uma expressão. Caso você queria encontrar um item ou grupo de
itens em particular em seu banco de dados, você precisará fazer uso de uma ou
mais condições em suas queries.
Podemos definir condições em consultas SQL utilizando a cláusula where.
Esta é a primeira parte de uma série de artigos. Neste
texto, apresento recursos básicos da linguagem SQL, como principais cláusulas,
funções e alguns operadores. Operadores são os elementos que você utiliza
dentro de expressões para definir como você quer restringir os dados retornados
por uma busca. De uma forma geral, os operadores são divididos em seis grupos:
aritméticos, comparação, caractere, lógico, conjunto e outros (ler Nota DevMan 2).
Originalmente
esta palestra tratava de recursos oferecidos pelo DB2, um sistema gerenciador
de bancos de dados (SGBD) que é um dos grandes líderes do mercado mundial.
Porém iremos priorizar nestes artigos os recursos SQL e as sintaxes que sejam
padrão ANSI SQL, ou seja, que estão ou deveriam estar disponíveis em qualquer
SGBD.
Tópicos discutidos neste artigo
Para começar esta série, vamos falar do uso dos
seguintes recursos SQL:
·
ordenando dados;
·
usando funções
escalares;
·
juntando tabelas;
·
usando funções de
agregação;
·
usando cláusulas de
agregação;
·
usando operador ROLLUP;
·
usando operador CUBE;
·
usando função GROUPING.
Base de dados e considerações
Para situarmos os recursos SQL que vamos estudar, é
preciso ter uma base de dados como amostra. Usaremos nestes artigos uma base
com dados fictícios de demanda de produtos farmacêuticos. A Figura 1 mostra o modelo desta base.
Assumiremos nestes artigos que o leitor já está
familiarizado com declarações do tipo SELECT, conhecendo sua sintaxe básica.
Feito este comentário, vamos começar o estudo.
Ordenando dados
É possível que a ordenação seja o recurso mais básico para manipulação
dos dados selecionados. E como aprendemos nas primeiras aulas de SQL, isso é
feito usando-se a cláusula ORDER BY.
Importante observar no plano de execução de uma consulta que a última
cláusula a ser executada numa declaração de seleção de dados é exatamente o ORDER BY. Depois de definida a
“listagem” que resulta da declaração SQL é feita finalmente a ordenação dos
dados.
A cláusula ORDER BY oferece
várias opções, como solicitar a ordenação pelo nome das colunas, ou pelo número
das colunas na listagem final. Veja por exemplo, na Listagem 1, uma declaração SELECT para retornar a lista
de cidades em ordem alfabética.
Listagem 1. Consulta para
retornar as cidades em ordem alfabética.
SELECT C.Cidade
FROM
tblCidade C
WHERE
C.fkEstado = 1
ORDER BY C.Cidade;
--Ou
SELECT C.Cidade
FROM tblCidade C
WHERE C.fkEstado = 1
ORDER BY 1;
"
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Wagner Crivelini
Atua a mais de 15 anos na área TI, particularmente com Business Intelligence. Engenheiro formado pela UNICAMP, trabalha na IBM na unidade de IBM Global Account onde atua como DBA DB2 e SQL SERVER em projetos internacionais. Profissional com várias certificações em DB2, entre elas IBM Certified Sol...
9 COMENTÁRIOS
Esta é uma série de 6 artigos que devem ser publicados nos próximos números. Recomendo que dê uma olhada.
Abraço
Wagner
Eu usei uma base um pouco grande para estes testes, mas vc pode me encaminhar uma solicitação por email que eu te envio um backup da base para ser restaurado no DB2 ou SQL SERVER.
Obrigado pelos comentários
Abraço
Wagner
Obrigado, vou mandar um e-mail. Fico na expectativa dos scripts e dos seus próximos artigos.
Até a próxima!
É um ótimo artigo, você esta pretendendo fazer quantos artigos relacionados a este assunto ?
Esta foi uma série de 5 artigos publicados entre Dez/11 a Abr/12.
Me manda um email q eu te passo um backup da base pra SQL SERVER...
Abraço
Poderia me inviar uma cópia do script da database?
Obrigado
Abraço
segue o link
http://www.4shared.com/zip/-hvnOmr5/Farmaceutico.html
abraço




