Buscar

Tema 08 - Union

Prévia do material em texto

1Banco de dados II – Prof Tavares
Banco de Dados II
Tema 8 - Union
2Banco de dados II – Prof Tavares
Union
• A Álgebra Relacional é uma linguagem de 
consulta procedural que agrega um conjunto de 
operações sobre modelos relacionais de dados.
• Operações:
– Seleção, Projeção, Junção, União, Intersecção, 
Diferença, Produto Cartesiano, Divisão e Renomear.
3Banco de dados II – Prof Tavares
• As instruções UNION e UNION ALL servem para gerar como
resultado a união de 2 ou mais consultas.
• As consultas podem usar dados das mesmas tabelas ou
obter os dados de diferentes fontes, desde que a quantidade
(e o tipo) de colunas das consultas sejam iguais.
• A diferença entre UNION e UNION ALL é que o comando
UNION ignora registros repetidos. Em contrapartida, a
instrução UNION ALL é mais rápida.
SQL UNION
4Banco de dados II – Prof Tavares
Seleção Projeção Junção
União Intersecção Diferença
Union
5Banco de dados II – Prof Tavares
Union
6Banco de dados II – Prof Tavares
• A operação de UNION é uma operação binária que 
permite unir dois conjuntos ou relações de dados. 
• Nesta operação, os conjuntos duplicados são 
eliminados.
Ex.  nome(aluno)   nome(professor) 
SELECT nome FROM aluno
UNION
SELECT nome FROM professor
Union
7Banco de dados II – Prof Tavares
Ex.  nome(aluno)   nome(professor) 
SELECT nome FROM aluno
UNION [ALL]
SELECT nome FROM professor
Union

8Banco de dados II – Prof Tavares
Ex.  nome(aluno)   nome(professor) 
SELECT nome FROM aluno
UNION ALL
SELECT nome FROM professor
Union
9Banco de dados II – Prof Tavares
Ex.  nome(aluno)   nome(professor) 
SELECT nome FROM aluno
UNION 
SELECT nome FROM professor
Union
10Banco de dados II – Prof Tavares
Ex.  nome(aluno)   nome(professor) 
SELECT nome, ‘Aluno’ as status
FROM aluno
UNION 
SELECT nome, ‘Professor’ as status
FROM professor
Union
11Banco de dados II – Prof Tavares
Consulta: Listar todos os empregados e clientes.
(SELECT customerName as Nome FROM customers)
UNION
(SELECT concat(firstName," ",lastName) as nome FROM employees)
ORDER BY nome
(SELECT customerName as nome FROM customers)
UNION ALL
(SELECT concat(firstName," ",firstName) as Nome FROM employees)
ORDER BY nome
Union
12Banco de dados II – Prof Tavares
Implementação do FULL JOIN
Consulta: Recuperar o nome dos empregados e os nomes dos respectivos
clientes. Incluir os nomes dos clientes não atendidos por funcionários e vice-
versa.
(SELECT concat(e.firstName," ",e.lastName) as empregado,
c.customerName as cliente
FROM employees e RIGHT JOIN customers c ON
e.employeeNumber = c.salesRepEmployeeNumber)
UNION
(SELECT concat(e.firstName," ",e.lastName) as empregado,
c.customerName as cliente
FROM employees e LEFT JOIN customers c ON
e.employeeNumber = c.salesRepEmployeeNumber)
ORDER BY empregado
Union
14Banco de dados II – Prof Tavares
Até a próxima!
Union

Continue navegando

Outros materiais