Baixe o app para aproveitar ainda mais
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
Compartilhar