Escolar Documentos
Profissional Documentos
Cultura Documentos
Bancos de Dados
Prof. Geraldo Corrêa
Relação Agência Relação Cliente
nomeAgência cidadeAgência nomeCliente ruaCliente cidadeCliente
São João POA Denise Olinda POA
Assis Brasil Canoas João Paraná POA
Verde Guaíba Pedro Pará Canoas
Farrapos POA Ana Viena Canoas
Itu Canoas Maria Chicago Guaíba
Relação Conta
nomeAgência nroConta nomeCliente saldo
Farrapos 100 Denise 2000
Farrapos 200 Pedro 300
São João 300 Ana 2500
Verde 50 Maria 3000
São João 400 João 1000
Relação Empréstimo
nomeAgência nroEmpréstimo nomeCliente valor
Assis Brasil 100 Pedro 7000
Verde 200 Maria 11000
Assis Brasil 400 João 5000
São João 500 Ana 35000
Álgebra Relacional – Produto
Cartesiano
Produto Cartesiano
combinação de todas as tuplas de 2 relações
utilizado quando se necessita obter dados presentes em duas ou
mais relações
Notação:
nomeCliente, cidadeCliente (
σ Empréstimo.nomeCliente = Cliente.nomeCliente
(Empréstimo X Cliente)
)
Select nomeCliente, cidadeCliente
from Emprestimo, Cliente
Where Emprestimo.nomeCliente = Cliente.nomeCliente
Definição de INNER JOIN
Em muitos casos, você poderá precisar apresentar um
resultado o qual não está em apenas uma tabela.
Então você utiliza o INNER JOIN para fazer esse
relacionamento das tabelas;
Quando duas tabelas estão interligadas, de alguma forma,
precisa-se de um campo comum entre ambas (chave
estrangeira).
7
Exemplo
N
1
8
Para saber qual o departamento
de cada empregado
SELECT emp.nome_emp, dep.nome_dep
FROM emp
INNER JOIN dep ON emp.n_dep = dep.n_dep
ORDER BY emp.nome_emp
9
OUTER JOIN
O INNER JOIN, faz o relacionamento entre duas tabelas e
depois exibe o que está nas duas tabelas do relacionamento
indicado.
Já o OUTER JOIN faz a mesma coisa, porém retorna os dados
de acordo com a tabela da esquerda (LEFT) ou da direita
(RIGTH).
10
LEFT JOIN
O LEFT JOIN retorna os dados de acordo com a tabela
da esquerda (a primeira tabela que foi declarada),
independente se no relacionamento com a tabela da
direita não possuir o valor do campo de
relacionamento;
11
LEFT JOIN
Insira dois empregados sem ligação com departamentos
12
RIGHT JOIN
Retorna os dados de acordo com a tabela da direita (a segunda
tabela que foi declarada), independente se no relacionamento
com a tabela da direita não possuir o valor do campo de
relacionamento;
13
RIGHT JOIN
Insira dois departamentos sem empregados
14
Exercícios
1) Insira dois empregados que não tem relação com
departamento
2) Insira um departamento que não tem nenhum funcionário
relacionado.
3) Rodar os exemplos da Escola de Informática com o Inner
Join;
4) Realize uma consulta em 4 tabelas.
5) Rodar os exemplos que estão neste slide.
15