Sunteți pe pagina 1din 3

SINDPD-RJ – Gestão 2010/2013

Banco de Dados

Funções de Grupo
Função Descrição
AVG(n) Média aritmética de n
COUNT(*) Total de linhas da tabela, inclusive duplicadas
COUNT(coluna) Total de linhas não nulas
MAX(n) Valor máximo de n
MIN(n) Valor mínimo de n
SUM(n) Soma dos valores de n

Todas as funções ignoram os valores nulos, com exceção da função COUNT(*).

Retornar a média aritmética das notas finais do aluno M001:


select avg(notafinal)
from tbalunodiscip
were matricula = “M001”;

Retornar a quantidade de disciplinas do curso de Informática


select count(*)
from tbdisciplina
where codcurso = “Inf”;

Retornar a quantidade de disciplinas do curso de Informática que possuem número de


créditos
select count(numcredito)
from tbdisciplina
where codcurso = “Inf”;

Retornar a maior nota final do aluno m001


select max(notafinal)
from tbalunodiscip
where matricula = “M001”;

Retornar a menor nota final do aluno m001


select min(notafinal)
from tbalunodiscip
where matricula = “M001”;

Retornar total de créditos das disciplinas do curso de Informática


select sum(numcredito)
from tbdisciplina
where codcurso = “Inf”;

|Denis Dobbin |dnsmd@ig.com.br |1/3


SINDPD-RJ – Gestão 2010/2013

Cláusula GROUP BY
Condensa em uma única linha todas as linhas que possuem o mesmo valor da coluna do
GROUP BY.
Sintaxe:
SELECT coluna_do_group_by, função_de_grupo
FROM nome_da_tabela
GROUP BY coluna_do_goup_by
HAVING coluna;

Retorna a quantidade de alunos do sexo masculino e do sexo feminino


select sexo, count(*)
from tbaluno
group by sexo;

A cláusula HAVING é usada para limitar os grupos que serão exibidos, funciona como se
fosse uma cláusula WHERE para o GROUP BY.

Retorna o total de disciplinas dos cursos de Engenharia e Informática, se possuirem


acima de 1 disciplina.
SELECT codcurso, count(*) AS “Total de Disciplinas”
FROM tbdisciplina
WHERE codcurso IN (“Eng”, “Inf”)
GROUP BY codcurso
HAVING COUNT(*) > 1;

|Denis Dobbin |dnsmd@ig.com.br |2/3


SINDPD-RJ – Gestão 2010/2013

Sub-consulta
É um comando SELECT embutido em um comando SQL. A consulta interna é a primeira a
ser executada e seu resultado será utilizado pela consulta externa.

Retorna o nome das disciplinas que possuem o mesmo número de créditos de Álgebra.
Select descricao
from tbdisciplina
where numcredito = ( select numcredito
from tbdisciplina
where descricao = “Algebra”);

Retorna a matrícula dos alunos que possuem a nota final maior que a média das notas de
todas as disciplinas
select matricula
from tbalunodiscip
where notafinal > ( select avg(notafinal)
from tbalunodiscip);

Retorna no nome dos alunos que são mais velhos do que o aluno M003 e tem o mesmo
sexo do aluno M009
select nome
from tbaluno
where dtnasc > ( select dtnasc
from tbaluno
where matricula = “M003”)
and sexo = ( select sexo
from tbaluno
where matricula = “m009”);

|Denis Dobbin |dnsmd@ig.com.br |3/3

S-ar putea să vă placă și