Buscar

Biblioteca 1149305

Prévia do material em texto

Implementação de 
Banco de Dados
Cassio Diego 
cassiodiego.com/bd
1
Aula 5
UNIDADE 2: LINGUAGEM SQL (CONTINUAÇÃO) 
3. Comando SELECT (CONTINUAÇÃO) 
3.6. Comandos de Junção 
3.7. SubConsultas Aninhadas e Correlatas. 
3.8. Operadores de Conjunto 
2
Comandos de junção
O QUE É UMA JUNÇÃO EM BANÇO DE DADOS? 
• Consultas que para reunir dados em duas, três ou 
mais tabelas no banco de dados.
3
Comandos de junção
PRODUTO CARTESIANO (JOIN)
4
Comandos de junção
JUNÇÃO INTERNA (JOIN)
5
Comandos de junção
JUNÇÃO INTERNA (INNER JOIN)
6
Comandos de junção
JUNÇÃO EXTERNA (* OUTER JOIN) 
• Uma junção externa inclui todas as linhas de uma 
das tabelas e inclui os dados da segunda tabela 
apenas quando linhas correspondentes são 
encontradas.
7
Comandos de junção
JUNÇÃO EXTERNA ESQUERDA (LEFT OUTER JOIN)
8
Comandos de junção
JUNÇÃO EXTERNA ESQUERDA (LEFT OUTER JOIN)
9
Comandos de junção
JUNÇÃO EXTERNA DIREITA (RIGHT OUTER JOIN)
10
Exercício: Fazer para o mesmo 
SELECT para a tabela PRODUTOS.
Comandos de junção
JUNÇÃO CRUZADA (CROSS JOIN)
11
Aqui vai aparecer todos os funcionários cruzados 
com os cargos (32 cargos * 34 funcionários) = 1088.
Comandos de junção
JUNÇÃO NATURAL (NATURAL JOIN)
12
Subconsultas
O QUE É UMA SUBCONSULTA? 
Uma subconsulta é uma consulta dentro de outra 
instrução SQL (à qual chamaremos de instrução-
contêiner). Como qualquer consulta, uma subconsulta 
retorna um conjunto-resultado que pode consistir em: 
• Uma única linha; 
• Múltiplas linhas com uma única coluna; 
• Múltiplas linhas e colunas.
13
Subconsultas
EXEMPLO
14
Subconsultas
SUBCONSULTAS NÃO CORRELATAS 
• O exemplo anterior era uma subconsulta não-correlata: Ela pode 
ser executada de forma independente e não referencia qualquer 
coisa da instrução-contêiner. 
• A consulta pode aparecer em ambos os lados utilizando 
operadores comuns (=, <>, <, >, <=, >=), essa subconsulta é 
chamada de escalar.
15
Subconsultas
OPERADORES 
• all; 
• any; 
• in; 
• not in; 
• exists;
16
Subconsultas
SUBCONSULTAS CORRELATAS
17
Subconsultas
QUANDO USAR SUBCONSULTA 
• Como fontes de dados; 
• Orientadas a tarefas; 
• Em condições de filtro; 
• Geradoras de expressões.
18
Subconsultas
RESUMO 
• Retornam uma única coluna e linha, uma única coluna com múltiplas linhas, e múltiplas colunas e linhas; 
• São independentes da instrução-contêiner (subconsultas não correlatas); 
• Referenciam uma ou mais colunas da instrução-contêiner (subconsultas correlatas); 
• São usadas em condições que utilizam operadores de comparação, bem como os operadores de propósito 
mais específico (in, not in, exists e not exists); 
• Podem ser encontradas em instruções select, update, delete e insert; 
• Geram conjuntos-resultados que podem ser juntados a outras tabelas (ou subconsultas) em uma única 
consulta; 
• Podem ser usadas para geração de valores para popular uma tabela; 
• São usadas nas cláusulas select, from, where, order by das consultas
19
Operadores de conjunto
OPERADOR UNION
20
Operadores de conjunto
OPERADOR INTERSECT
21
Operadores de conjunto
OPERADOR EXCEPT
22
Próxima aula...
UNIDADE 2: LINGUAGEM SQL (CONTINUAÇÃO) 
4. Criando Outros Objetos de Banco de Dados 
4.1. Criando Visões 
4.2. Criando uma seqüência
23
Bibliografia Básica
• SILBERSCHATZ, Abraham; KORTH, Henry F; 
SUDARSHAN, S. A. Sistema de banco de dados. 
5ª ed. Rio de Janeiro: Campus, 2006. 
• ELMASRI, R.; NAVATHE, S., Sistemas de Banco de 
Dados. Pearson Education do Brasil, 4ª.Ed  2005. 
• RAMALHO, Jose Antonio Alves. SQL a linguagem 
dos bancos de dados. São Paulo: BERKELEY 
BRASIL, 1999.
24
Bibliografia Complementar
• DATE, C.J. Introdução a sistemas de banco de dados. 8ª ed. 
Rio de Janeiro: Campus, 2004. 
• DAMAS Luis SQL- Structured query language 6ª. Ed.  Editora 
LTC  2007 
• GILLENSON, M, MILLER, F. Introdução a Gerência de Banco de 
Dados. Editora LTC 1a. Edição 2009 
• PRICE.Jason Oracle Database 11g SQL Editora Artmed 1a. 
Edição 2008 
• KLINE,Daniel; KLINE , Kevin  Sql - O Guia Essencial - Manual 
de Referencia Profissional. Editora Alta Books 1 2010
25
Materiais
cassiodiego.com/bd
26
Contato Oficial
cassiodiego@gmail.com
27

Continue navegando