LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
Modelo de Dados
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
Configurando Oracle
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
JUNO
Um comando SELECT pode fazer uma consulta que traz
dados de duas ou mais tabelas. Esse um processo
chamado de juno [join]. As tabelas tm uma coluna em
comum que usado para fazer as junes.
Sintaxe da Juno
Sintaxe ANSI
Sintaxe tradicional (no ANSI)
Tipos Juno:
Juno Cruzada ou Irrestrita (Produto Cartesiano)
Juno Interior
Juno Exterior
Auto-Juno
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
JUNO CRUZADA
Uma juno cruzada [cross join] de tabelas, tambm
chamada juno irrestrita de duas tabelas gera um
resultado formado por todas as combinaes possveis de
uma linha da primeira tabela com uma linha da segunda.
No existe uma condio de juno. Esse resultado
chamado produto cartesiano das duas tabelas.
Na sintaxe ANSI, junes cruzadas so indicadas com
CROSS JOIN, por exemplo:
select *
from empregado cross join departamento;
Na sintaxe Tradicional:
select *
from empregado , departamento;
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
JUNO CRUZADA
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
JUNO CRUZADA
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
JUNO CRUZADA
JUNO CRUZADA
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
JUNO INTERIOR
Esse tipo de juno conecta as duas tabelas e retorna
apenas as linhas que satisfazem a condio de juno.
Na sintaxe ANSI, junes interiores so indicadas com
INNER JOIN:
select <colunas>
from tabela1 INNER JOIN tabela2 ON <condio de juno>;
Na sintaxe Tradicional:
select <colunas>
from tabela1 ,tabela2
Where <condio de juno>;
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
JUNO INTERIOR
Dados do Empregado e do
Departamento onde esta alocado
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
SELECT *
FROM EMPREGADO , DEPARTAMENTO
WHERE ID_DEPTO = DEPARTAMENTO.ID
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
Projetando Colunas
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
SINTAXE ANSI
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
SINTAXE TRADICIONAL
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
JUNO EXTERIOR
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
JUNO EXTERIOR
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
COMANDO EQUIVALENTE LE
SELECT C.ID, C.NOME, E.ID, E.ULT_NOME,E.CAR
FROM CLIENTE C , EMPREGADO E
WHERE C.VENDEDOR (+) = E.ID
UNION OPERADOR DE CONJUNTO
SELECT C.ID, C.NOME, E.ID, E.ULT_NOME,E.CAR
FROM CLIENTE C , EMPREGADO E
WHERE C.VENDEDOR = E.ID (+)
COMANDO EQUIVALENTE RIGHT
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
JUNO EXTERIOR
PROJETANDO TODAS AS
COLUNAS DE CLIENTE
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
SELECT G.ID, G.ULT_NOME, G.CARGO,
S.ID, S.ULT_NOME, S.CARGO
FROM EMPREGADO G RIGHT JOIN EMPREGADO S
ON S.ID_GERENTE = G.ID
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
SELECT G.ID, G.ULT_NOME, G.CARGO,
S.ID, S.ULT_NOME, S.CARGO
FROM EMPREGADO G LEFT JOIN EMPREGADO S
ON S.ID_GERENTE = G.ID
DADOS DOS
SUBORDINADOS NULOS
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
SELECT G.ID, G.ULT_NOME, G.CARGO
FROM EMPREGADO G LEFT JOIN EMPREGADO S
ON S.ID_GERENTE = G.ID
WHERE S.ID IS NULL
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
AUTO JUNO
SELECT G.ID, G.ULT_NOME, G.CARGO
FROM EMPREGADO G , EMPREGADO S
WHERE G.ID = S.ID_GERENTE (+) AND S.ID IS NULL
LINGUAGEM SQL
IMPLEMENTAO DE BANCO DE DADOS
Prxima Aula
Aprender os como construir
subconsulta
Conhecer os operadores de
conjunto
LINGUAGEM SQL