segunda-feira, 25 de julho de 2011

Funcao COUNT() e SUM()

Temos a seguinte tabela produto

id_produto          nome_produto                 preco
      1                         Feijão                           2
      2                        Arroz                             5
      3                        Macarrão                       3
      4                        Refrigerante                  5
      5                        Refrigeranta                  2

A funcão COUNT() retorna o número de valores (valores nulos não serão contados) da coluna especificada.

select count(id_produto) as id_total from produto
Resultado: id_total 5


A funcão SUM() retorna a soma de uma coluna numérica.

select sum(preco) as total from produto
Resultado : total 17

Se precisarmos trazer mais campos junto com uma funcão SUM() ou COUNT()
 teremos que usar o GROUP BY

select sum(preco) as total, nome_produto
from produto
GROUP BY nome_produto

Resultado seria mais ou menos esse.

nome_produto                total
Feijão                                2

Arroz                                5

Macarrão                          3

Refrigerante                     7


Acho que dá para entender. rsrsrs

sábado, 23 de julho de 2011

Claúsulas JOIN

A cláusula INNER JOIN é utilizada nas situações em que você quer selecionar os registro das duas tabelas, desde que as mesmas possuam informações relacionadas.


Exemplo

select matricula.nome_aluno, turma.turma
from matricula
inner join turma on
(matrcula.turma = matricula.turma)

nome_aluno         turma
Joao                   1ª serie
Maria                1ª serie
Roberto             2ª serie



A cláusula LEFT JOIN e RIGHT JOIN permite obter não apenas os dados relacionados de duas tabelas, mais também os dados não relacionados encontrados na tabela à esquerda (LEFT JOIN) ou da tabela a direita (RIGTH JOIN)

Se mudarmos para left join ficaria assim:

select matricula.nome_aluno, turma.turma
from matricula
left join turma on
(matrcula.turma = matricula.turma)

nome_aluno         turma
Joao                   1ª serie
Maria                1ª serie
Roberto             2ª serie
Jose