300x250 AD TOP

Blogger news

AD (728x90)

Tecnologia do Blogger.

Colaboradores

Seguidores

Postagens populares

Tagged under:

Comandos SQL - Funções Agregadas

  • Funções Agregadas:
Em SQL temos algumas funções que realizam operações especias, tais como:
Somar valores, calcular a média, realizar contagens, etc.
  • SUM: Calcula a soma de elementos numéricos
Exemplo:
SELECT SUM( idade ) AS Idade FROM tb_pessoa
  • AVG: Calcula a média de elementos numéricos
Exemplo:
SELECT AVG ( idade) AS MediaIdade FROM tb_pessoa
  • COUNT: Realiza a contagem de um campo passado como parâmetro
Exemplo:
SELECT COUNT (matricula) AS Quantidade FROM tb_aluno
  • MIN: Retorna o menor valor de uma coluna especificada como parâmetro
Exemplo:
SELECT MIN (idade) AS Menor FROM tb_pessoa
  • MAX: Retorna o maior valor de uma coluna especificada como parâmetro
Exemplo:
SELECT MAX (idade) AS Maior FROM tb_pessoa
Importante:
–Vimos nos exemplos anteriores que as funções agregadas foram utilizadas de forma isolada, ou seja, em a presença de nenhum outro campo na lista de campos; –Quando necessitamos que um função agregada seja utilizada com outros campos da tabela, precisamos obrigatoriamente fazer o uso da instrução GROUP BY, indicando que o relação de itens listados será agrupado de acordo com o campo especificado na cláusula; –Quando utilizamos mais de um campo é necessário informa todos na cláusula GROUP BY, a ordem estabelecida na listagem será a ordem com que o SQL irá agrupar o resultado de sua pesquisa;
A utilização de junções em SQL é uma prática comum quando se deseja realizar consultas mais elaboradas;
  • A realização de junções(joins) é feita através da relação PK x FK;
Exemplo:
SELECT P.CODIGO, P.NOME, C.DESCRICAO FROM PRODUTO P , CATEGORIA C
WHERE P.CATEGORIA_ID = C.CODIGO
No exemplo anterior podemos ver claramente a relação anteriormente citada, onde a chave primária da tabela CATEGORIA(codigo) tem uma relação direta com a chave Estrangeira na tabela PRODUTO(categoria_ID).
Observe também que os nomes das tabelas foras alteradas com os alias utilizados ao lado do nome da tabela.
  • Autorrelacionamento
–Quando é utilizado alias diferentes para a mesma tabela, o SQL interpreta como sendo tabelas diferentes –Veja o seguinte Exemplo:
SELECT SUP.MATR, SUP.NOME, EMP.MATR, EMP.NOME FROM EMPREGADO EMP, EMPREGADO SUP
WHERE EMP.MATRSUPER = SUP.MATR
No exemplo acima, temos mais uma vez a relação de chave estrangeira com chave primária, porém desta vez utilizando a mesma tabela;
  • Funções Adicionais para manipulação de Datas:
–Day : Seleciona o dia de uma data;
–Month: Seleciona o mês de uma data;
–Year: Seleciona o ano de uma data;
–Exemplo:
Insert into aluno(nome,nasci) values ('Ivan''1995-04-30')
Select nome, day (nasci) as Dia, Month (nasci) as Mes, year (nasci) as Ano from Aluno
Como é possível observar a manipulação de datas em SQL dá-se no formato inglês de data: YYYY-MM-DD, ou seja, Ano-Mês-Dia;
  • Função para manipulação de campo NULO (null)
Quando necessitamos realizar uma seleção de dados em uma tabela, alguns campos podem não conter valores, ou seja, null. Para que o valor null não apareça em sua pesquisa é possível utilizar a instrução ISNULL associada ao campo com valor null;
Supondo que o campo endereço não tenho conteúdo, o resultado de uma pesquisa comum, seria a presença do valor null como resultado, com a instrução ISNULL, podemos adicionar um valor padrão que seja exibido toda vez que o registro tiver a ausência do campo endereço;
Select nome, telefone, ISNULL (endereco, 'Sem Endereco') as Endereco From Cliente
Função adicionais para filtragem de dados na cláusula where
Muitas vezes necessitamos realizar uma listagem de dados que um de seus campos sejam null,para que possamos realizar uma alteração da dados;
A instrução que podemos utilizar em SQL na cláusula Where para realizar tal pesquisa é a instrução IS ;
Supondo que o campo endereço não tenho conteúdo, o resultado de uma pesquisa comum, seria a presença do valor null como resultado, com a instrução IS na cláusula WHERE podemos realizar um filtro de registros que contenha ou não um valor nulo, por exemplo:
Suponha que se deseja realizar uma listagem dos cliente que não tenham endereco cadastrado:
SELECT Nome, Telefone from Cliente where Endereco IS NULL
SELECT Nome, Telefone from Cliente where Endereco IS NOT NULL

  • Função adicionais para filtragem de dados na cláusula where
Quando necessitamos realizar pesquisa com valores fixos a cláusula acima BETWEEN não é aplicável, podemos utiliza condições compostas com o operador lógico AND, mas seria desgastante demais.
Para este tipo de situação podemos utilizar a instrução IN. Ela permite a realização de pesquisa utilizando como filtro valores fixos, por exemplo:
Select * From cliente where matricula IN ( 10,20,30 )

Outros assuntos relacionados:

0 comentários:

Postar um comentário