testee
Banco de Dados II
Aula 02 - 08/02/2013
Fredson Costa fredson@catolica-to.edu.br Modelagem de um Sistema
Funções de Agregação
COUNT(*): Devolve o número de linhas proveniente de um select
COUNT(coluna): Devolve o número de ocorrências na coluna diferentes de NULL
Exemplos:
select count(*) as cont from tabela select count(campo) from tabela
Funções de Agregação
MAX (coluna)
Devolve o maior valor da coluna
Exemplo: SELECT MAX(campo) AS maximo FROM tabela MIN (coluna)
Funções de Agregação
SUM (coluna)
Devolve a soma de todos os valores da coluna
SELECT SUM(coluna) from TABELA
AVG(coluna)
Devolve a média dos valores de uma coluna
Agrupando Informações
GROUP BY
Utilizada para agrupar informações
SELECT c.nome, COUNT(d.iddisciplina) AS ndisciplinas FROM curso c, disciplina d WHERE
c.idcurso=d.curso_idcurso GROUP BY c.nome
Agrupando Informações
HAVING
Aplica restrições a um grupo
SELECT c.nome, COUNT(d.iddisciplina) AS ndisciplinas, c.nperiodo FROM curso c, disciplina d
WHERE c.idcurso=d.curso_idcurso GROUP BY
c.nome HAVING c.nperiodos=10
Produto Cartesiano
JOIN
Como fazemos para verificar todas as ofertas de disciplinas destes semestre do curso de sistemas de informação?
JOIN
INNER JOIN
RIGHT JOIN
LEFT JOIN
JOIN
SELECT d.nome, c.nome AS curso FROM disciplina d
INNER JOIN curso c ON (d.curso_idcurso=c.idcurso)
SELECT d.nome, c.nome AS curso FROM disciplina d
RIGHT JOIN curso c ON (d.curso_idcurso=c.idcurso)
SELECT d.nome, c.nome AS curso FROM disciplina d
LEFT JOIN curso c ON (d.curso_idcurso=c.idcurso)
UNION
Como faria para selecionar os alunos de sistemas de informação que tiraram 10 em uma determinada disciplina e os alunos de direito que tiraram zero em uma determinada disciplina
Como faria para selecionar todos os professores que moram em Palmas e todos os acadêmicos que são de fora de Palmas?
UNION
(SELECT) UNION (SELECT)
Tabelas devem