Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Tutorial de SQL
SEÇÕES
Manuais relacionados
+Tutorial de SQL
Categorias
+Linguagem SQL

Índice do Manual Tutorial de SQL
+ O que é SQL
+ Tipos de campos
+ Adicionar um novo registro
+ Apagar um registro
+ Atualizar um registro
+ Seleção de tabelas I
+ Seleção de tabelas II
+ Seleção de tabelas III
+ Seleção de tabelas IV
+ Aproveite seu banco de dados
+ Tabelas temporárias no Sql Server
+ Adquirindo informações do Usuário com a classe System
+ Alguns truques práticos
+ Criação de tabelas
+ SQL e Programação de Banco de Dados
+ Funções para buscas com datas em Access
+ Função em SQL para o cálculo de dias de trabalho
+ SQL com Oracle
+ SQL com Oracle. Operadores
+ Sub-consultas SQL
+ Funções SQL
+ Agrupamento e combinação de elementos com SQL
+ Manipulação de dados com SQL
+ Chaves primárias com SQL com Oracle
+ Definição de chaves para tabelas e restrições
+ Supressão e modificação de tabelas com SQL
+ Gerenciamento de vistas em SQL
+ Usuários em Oracle
+ Gerenciamento em Oracle com SQL
+ Otimizar consultas SQL
+ Consultas de seleção
+ Critérios de seleção em SQL
+ Como exibir informações com múltiplas instruções SQL
+ Critérios de seleção em SQL II
+ Consultas de ação
+ Tipos de dados SQL
+ Subconsultas em SQL
+ Consultas SQL de União Internas
+ Estruturas das tabelas em SQL
+ Cursores em SQL
+ Referências Cruzadas em SQL
+ Introdução a freetext e contains em SQL-Server
+ Acesso ao banco de dados externos
+ Consultas com parâmetros e omissão de permissões
+ Procedures e busca de registros duplicados em SQL
+ A função datepart() em Access
+ Emular um Cursor SQL com um Loop
+ Tipos de instruções SQL e seus componentes sintáticos

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Critérios de seleção em SQL II

Continuamos com o group by, avg, sum e com o compute de sql-server.


Combine os registros com valores idênticos, na lista de campos especificados, em um único registro. Para cada registro se cria um valor sumário se se inclui uma função SQL agregada, como por exemplo, Sum ou Count, na instrução SELECT. Sua sintaxe é:

SELECT campos FROM tabela WHERE criterio GROUP BY campos do grupo

GROUP BY é opcional. Os valores de resumo se omitem se não existe uma função SQL agregada na instrução SELECT. Os valores Null nos campos GROUP BY se agrupam e não se omitem. Não obstante, os valores Null não se avaliam em nenhuma das funções SQL agregadas.

Utiliza-se a cláusula WHERE para excluir aquelas filas que não deseja agrupar, e a cláusula HAVING para filtrar os registros uma vez agrupados.
Ao menos que contenha um dado Memo ou Objeto OLE, um campo da lista de campos GROUP BY pode se referir a qualquer campo das tabelas que aparecem na cláusula FROM, inclusive se o campo não estiver incluído na instrução SELECT, sempre e quando a instrução SELECT incluir pelo menos uma função SQL agregada.

Todos os campos da lista de campos de SELECT devem ou se incluir na cláusula GROUP BY, ou como argumentos de uma função SQL agregada.

SELECT
   IdFamilia, Sum(Stock) AS StockAtual
FROM
    Produtos
GROUP BY
    IdFamilia


Uma vez que GROUP BY combinou os registros, HAVING mostra qualquer registro agrupado pela cláusula GROUP BY que satisfaça as condições da cláusula HAVING.

HAVING é similar a WHERE, determina que registros se selecionam. Uma vez que os registros se agruparam utilizando GROUP BY, HAVING determina quais deles serão mostrados.

SELECT
   IdFamilia, Sum(Stock) AS StockAtual
FROM
    Produtos
GROUP BY
    IdFamilia
HAVING
    StockAtual > 100
   AND
   NomeProduto Like BOS*

AVG

Calcula a média aritmética de um conjunto de valores contidos em um campo especificado de uma consulta. Sua sintaxe é a seguinte:

Avg(expr)

Onde expr representa o campo que contém os dados numéricos para os que se deseja calcular a média ou uma expressão que realiza um cálculo utilizando os dados de tal campo. A média calculada por Avg é a média aritmética (a soma dos valores dividido pelo número de valores). A função Avg não inclui nenhum campo Null no cálculo.

SELECT
   Avg(Gastos) AS Promedio
FROM
   Pedidos
WHERE
   Gastos > 100

Count

Calcula o número de registros devolvidos por uma consulta. Sua sintaxe é a seguinte

Count(expr)

Onde expr contém o nome do campo que se deseja contar. Os operandos de expr podem incluir o nome de um campo de uma tabela, uma constante ou uma função (a qual pode ser intrínseca ou definida pelo usuário, mas não outras das funções agregadas de SQL). Pode contar com qualquer tipo de dados inclusive texto.

Embora expr possa realizar um cálculo sobre um campo, Count simplesmente conta o número de registros sem ter em conta que valores se armazenam nos registros. A função Count não conta os registros que têm campos null a não ser que expr seja o caractere asterisco (*). Se utilizar um asterisco, Count calcula o número total de registros, incluindo aqueles que contém campos null. Count(*) é consideravelmente mais rápida que Count(Campo). Não se deve colocar o asterisco entre aspas duplas ('*').

SELECT
   Count(*) AS Total
FROM
   Pedidos


Se expr identifica a múltiplos campos, a função Count conta um registro só se ao menos um dos campos não for Null. Se todos os campos especificados forem Null, não se contará o registro. Há que separar os nomes dos campos com ampersand (&).

SELECT
   Count(DataEnvio & Transporte) AS Total
FROM
    Pedidos


Podemos fazer com que o gestor conte os dados diferentes de um determinado campo

SELECT
   Count(DISTINCT Localidade) AS Total
FROM
   Pedidos


Max, Min

Devolvem o mínimo ou o máximo de um conjunto de valores contidos em um campo especifico de uma consulta. Sua sintaxe é:

Min(expr)

Max(expr)


Onde expr é o campo sobre o qual se deseja realizar o cálculo. Expr pode incluir o nome de um campo de uma tabela, uma constante ou uma função (a qual pode ser intrínseca ou definida pelo usuário, porém não outras das funções agregadas de SQL).

SELECT
Min(Gastos) AS ElMin
FROM
   Pedidos
WHERE
   Pais = 'Espanha'


SELECT
   Max(Gastos) AS ElMax
FROM
   Pedidos
WHERE
    Pais = 'Espanha'

StDev, StDevP

Devolve estimações do desvio padrão para a povoação (o total dos registros da tabela) ou uma mostra da povoação representada (mostra aleatória). Sua sintaxe é:

StDev(expr)

StDevP(expr)


Onde expr representa o nome do campo que contém os dados que desejam avaliar ou uma expressão que realiza um cálculo utilizando os dados de tais campos. Os operandos de expr podem incluir o nome de um campo de uma tabela, uma constante ou uma função (a qual pode ser intrínseca ou definida pelo usuário, porém não outras das funções agregadas de SQL).

StDevP avalia uma povoação, e StDev avalia uma mostra da povoação. Se a consulta contém menos de dois registros (ou nenhum registro para StDevP), estas funções devolvem um valor Null (o qual indica que o desvio padrão não pode se calcular).

SELECT
   StDev(Gastos) AS Desvio
FROM
    Pedidos
WHERE
    País = 'Espanha'

SELECT
    StDevP(Gastos) AS Desvio
FROM
   Pedidos
WHERE
    País = 'Espanha'

Sum

Devolve a soma do conjunto de valores contido em um campo especifico de uma consulta. Sua sintaxe é:

Sum(expr)

Onde expr representa o nome do campo que contém os dados que se desejam somar ou uma expressão que realiza um cálculo utilizando os dados de tais campos. Os operandos de expr podem incluir o nome de um campo de uma tabela, uma constante ou uma função (a qual pode ser intrínseca ou definida pelo usuário, mas não outras das funções agregadas de SQL).

SELECT
    Sum(PrecoUnidade * Quantidad) AS Total
FROM
    DetalhePedido

Var, VarP

Devolve uma estimação da variabilidade de uma povoação (sobre o total dos registros) ou uma mostra da povoação (mostra aleatória de registros) sobre os valores de um campo. Sua sintaxe é:

Var(expr)

VarP(expr)


VarP avalia uma povoação, e Var avalia uma mostra da povoação. Expr o nome do campo que contém os dados que se desejam avaliar ou uma expressão que realiza um cálculo utilizando os dados de tais campos. Os operandos de expr podem incluir o nome de um campo de uma tabela, uma constante ou uma função (a qual pode ser intrínseca ou definida pelo usuário, mas não outras das funções agregadas de SQL)

Se a consulta contiver menos de dois registros, Var e VarP devolvem Null (isto indica que a variabilidade não pode ser calculada). Pode utilizar Var e VarP em uma expressão de consulta ou em uma Instrução SQL.

SELECT
   Var(Gastos) AS Variabilidade
FROM
    Pedidos
WHERE
    País = 'Espanha'

SELECT
    VarP(Gastos) AS Variabilidade
FROM
   Pedidos
WHERE
   País = 'Espanha'

COMPUTE de SQL-SERVER

Esta cláusula acrescenta uma fila no conjunto de dados que se está recuperando, se utiliza para realizar cálculos em campos numéricos. COMPUTE age sempre sobre um campo ou expressão do conjunto de resultados e esta expressão deve figurar exatamente igual na cláusula SELECT e sempre se deve ordenar o resultado pela mesma ou ao memos agrupar o resultado. Esta expressão não pode utilizar nenhum ALIAS.

SELECT
   IdCliente, Count(IdPedido)
FROM
   Pedidos
GROUP BY
   IdPedido
HAVING
   Count(IdPedido) > 20
COMPUTE
    Sum(Count(IdPedido))

SELECT
    IdPedido, (PrecoUnidade * Quantidade - Desconto)
FROM
   [Detalhes de Pedidos]
ORDER BY
    IdPedido
COMPUTE
   Sum((PrecoUnidade * Quantidade - Desconto)) // Calcula o Total
    BY IdPedido // Calcula o Subtotal

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Tutorial de SQL

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Linguagem SQL


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites