SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
Base de Dados 1
Agenda
Produto Cartesiano
JOINs
ALIAS de Tabelas
UNION
INTERSECT
MINUS
Produto Cartesiano
O produto cartesiano é a associação N:N entre duas
tabelas;
Para juntar duas tabelas bastará fazer:
SELECT *
FROM pessoa, localidade

O resultado será o produto cartesiano dos dois conjuntos.
O produto cartesiano entre as tabelas pessoa e localidade
associa a cada linha da tabela pessoa o conjunto das
linhas da tabela localidade.
JOIN
O Conceito de JOIN (ligação) entre tabelas permite
extrair, num único SELECT, informação contida em
diferentes tabelas.
JOIN utilizando WHERE
INNERJOIN
LEFTJOIN
RIGHTJOIN
INNER JOIN
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name=table2.column_name;
or:
SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_name=table2.column_name;
RIGHT JOIN
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_name=table2.column_name;
ou
SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_name=table2.column_name;
LEFT JOIN
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name=table2.column_name;
or:
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_name=table2.column_name;
FULL JOIN
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name=table2.column_name;
Juntado Tabelas Com
Clausula WHERE
A forma mais utilizada para se juntar tabelas é utilizando
apenas a clausula WHERE.
No entanto é preciso ter cuidado, colocando todas as
condições necessárias para obter o resultado correcto.

SELECT *
FROM pessoa, localidade
WHERE códigoLocal = código
ALIAS de tabelas
Se os campos de seleção ou junção de duas tabelas
tiverem o mesmo nome, então para eliminar
quaisquer ambiguidades, cada um dos campos deve
ser precedido do nome da tabela, seguido de um
ponto.
O nome de uma tabela pode ser reduzido ou
alterado num SELECT, através da utilização de um
ALIAS que deve ser colocado à frente da tabela e que
passará a ser uma outra forma de identificar a tabela.
Misturando SELECT
Existe a possibilidade de “Misturar” vários selects e
no final ter apenas um.
Para isso utiliza-se os seguintes operadores da teoria
de conjuntos
UNION
INTERSECT
MINUS
UNION
Permite fazer a reunião entre SELECTs.
O número de campos a selecionar em cada um dos
comandos SELECT tem de ser igual.
Nota: Numa UNION, o nome das colunas
apresentado no resultado é o nome das colunas
selecionadas na primeira instrução SELECT.
Cada SELECT pode conter a sua própria cláusula
WHERE. No entanto, só poderá existir uma única
cláusula ORDER BY no último SELECT, sendo a
ordenação aplicada a todo o resultado.
INTERSECT
Permite fazer a Intersecção entre SELECTs
O Operador INTERSECT permite juntar o conteúdo
de dois comandos SELECT, apresentando apenas as
linhas que resultam de ambos os comandos.

Nota: O operador INTERSECT só é suportado pelo
ORACLE.
MINUS
Permite Subtrair dois SELECTs
Devolve os registos que resultam do primeiro
SELECT e que não aparecem no segundo

Nota: O operador MINUS só é suportado pelo
ORACLE.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (14)

Fundamentos de SQL - Parte 1 de 8
Fundamentos de SQL - Parte 1 de 8Fundamentos de SQL - Parte 1 de 8
Fundamentos de SQL - Parte 1 de 8
 
Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8Fundamentos de SQL - Parte 3 de 8
Fundamentos de SQL - Parte 3 de 8
 
Criando um banco de dados com MySQL Workbench
Criando um banco de dados com MySQL WorkbenchCriando um banco de dados com MySQL Workbench
Criando um banco de dados com MySQL Workbench
 
12 SQL - Junções / Join
12 SQL - Junções / Join12 SQL - Junções / Join
12 SQL - Junções / Join
 
Fundamentos de SQL - Parte 2 de 8
Fundamentos de SQL - Parte 2 de 8Fundamentos de SQL - Parte 2 de 8
Fundamentos de SQL - Parte 2 de 8
 
Inner Join
Inner JoinInner Join
Inner Join
 
Apostila de sql oracle
Apostila de sql oracleApostila de sql oracle
Apostila de sql oracle
 
Funções integradas no sql
Funções integradas no sql Funções integradas no sql
Funções integradas no sql
 
Fundamentos SQL - Microsoft SQL Server 2019 - Parte 1/8
Fundamentos SQL - Microsoft SQL Server 2019 - Parte 1/8Fundamentos SQL - Microsoft SQL Server 2019 - Parte 1/8
Fundamentos SQL - Microsoft SQL Server 2019 - Parte 1/8
 
Formulas excel
Formulas excelFormulas excel
Formulas excel
 
Formulas excel
Formulas excelFormulas excel
Formulas excel
 
Apostila formulas excel
Apostila formulas excelApostila formulas excel
Apostila formulas excel
 
Formulas excel
Formulas excelFormulas excel
Formulas excel
 
Office 2003
Office 2003Office 2003
Office 2003
 

Andere mochten auch

Andere mochten auch (20)

Diegomacaya trama-2016
Diegomacaya trama-2016Diegomacaya trama-2016
Diegomacaya trama-2016
 
Administracion de la memoria
Administracion de la memoriaAdministracion de la memoria
Administracion de la memoria
 
Conference 2016-presenters
Conference 2016-presentersConference 2016-presenters
Conference 2016-presenters
 
Motivation and Value
Motivation and ValueMotivation and Value
Motivation and Value
 
Certificate of Specialization Course on Protection of Electrical Power Systems
Certificate of Specialization Course on Protection of Electrical Power SystemsCertificate of Specialization Course on Protection of Electrical Power Systems
Certificate of Specialization Course on Protection of Electrical Power Systems
 
Justicia1
Justicia1Justicia1
Justicia1
 
Appscend all solutions deck
Appscend all solutions deckAppscend all solutions deck
Appscend all solutions deck
 
Fiestas infantiles bogotá
Fiestas infantiles bogotáFiestas infantiles bogotá
Fiestas infantiles bogotá
 
Scaleta
ScaletaScaleta
Scaleta
 
silicon valley
silicon valleysilicon valley
silicon valley
 
Redes sociales
Redes socialesRedes sociales
Redes sociales
 
Mis amigos 11
Mis amigos 11Mis amigos 11
Mis amigos 11
 
Patrimonio de la humanidad 1
Patrimonio de la humanidad 1Patrimonio de la humanidad 1
Patrimonio de la humanidad 1
 
Paradza & Cloete Presentation v2
Paradza & Cloete Presentation v2Paradza & Cloete Presentation v2
Paradza & Cloete Presentation v2
 
Specialization Course on protection of Electrical Power Systems
Specialization Course on protection of Electrical Power SystemsSpecialization Course on protection of Electrical Power Systems
Specialization Course on protection of Electrical Power Systems
 
Aquapura Douro - Miguel Guedes de Sousa
Aquapura Douro - Miguel Guedes de SousaAquapura Douro - Miguel Guedes de Sousa
Aquapura Douro - Miguel Guedes de Sousa
 
WDI-Poject-4-README
WDI-Poject-4-READMEWDI-Poject-4-README
WDI-Poject-4-README
 
ali afiv khasan smk N 2 slawi
ali afiv khasan smk N 2 slawiali afiv khasan smk N 2 slawi
ali afiv khasan smk N 2 slawi
 
Seguridad redes
Seguridad redesSeguridad redes
Seguridad redes
 
Manolo Escobar (1931 2013) - wikipedia
Manolo Escobar (1931 2013) - wikipediaManolo Escobar (1931 2013) - wikipedia
Manolo Escobar (1931 2013) - wikipedia
 

Ähnlich wie BD Joins UNION INTERSECT MINUS

Ähnlich wie BD Joins UNION INTERSECT MINUS (8)

Funções de grupo, agrupamentos e pesquisa em
Funções de grupo, agrupamentos e pesquisa emFunções de grupo, agrupamentos e pesquisa em
Funções de grupo, agrupamentos e pesquisa em
 
Aula 300309
Aula 300309Aula 300309
Aula 300309
 
Principais instruções em sql
Principais instruções em sqlPrincipais instruções em sql
Principais instruções em sql
 
Basesdedados
BasesdedadosBasesdedados
Basesdedados
 
Sql junções
Sql junçõesSql junções
Sql junções
 
Sql linguagem
Sql linguagemSql linguagem
Sql linguagem
 
Revisao_SQL_Parte_I.ppt
Revisao_SQL_Parte_I.pptRevisao_SQL_Parte_I.ppt
Revisao_SQL_Parte_I.ppt
 
Aula 12 banco de dados
Aula 12   banco de dadosAula 12   banco de dados
Aula 12 banco de dados
 

Mehr von Hélio Martins

Aula 9 insert, update e delete
Aula 9   insert, update e deleteAula 9   insert, update e delete
Aula 9 insert, update e deleteHélio Martins
 
Aula 5 normalização dos dados
Aula 5   normalização dos dadosAula 5   normalização dos dados
Aula 5 normalização dos dadosHélio Martins
 
Aula 4 modelo relacional
Aula 4   modelo relacionalAula 4   modelo relacional
Aula 4 modelo relacionalHélio Martins
 
Aula 3 modelagem de dados
Aula 3   modelagem de dadosAula 3   modelagem de dados
Aula 3 modelagem de dadosHélio Martins
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfisHélio Martins
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dadosHélio Martins
 
T aula6-criptografia-certificado e assinatura digital
T aula6-criptografia-certificado e assinatura digitalT aula6-criptografia-certificado e assinatura digital
T aula6-criptografia-certificado e assinatura digitalHélio Martins
 
Trab prático-iteracao1
Trab prático-iteracao1Trab prático-iteracao1
Trab prático-iteracao1Hélio Martins
 
P aula3-trb teorico 2-criptografia
P aula3-trb teorico 2-criptografiaP aula3-trb teorico 2-criptografia
P aula3-trb teorico 2-criptografiaHélio Martins
 
T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,Hélio Martins
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografiaHélio Martins
 
T aula3-politicas de segurança
T aula3-politicas de segurançaT aula3-politicas de segurança
T aula3-politicas de segurançaHélio Martins
 
P aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasP aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasHélio Martins
 
T aula2-revisões bases e ip
T aula2-revisões bases e ipT aula2-revisões bases e ip
T aula2-revisões bases e ipHélio Martins
 
T aula1-apresentação
T aula1-apresentaçãoT aula1-apresentação
T aula1-apresentaçãoHélio Martins
 

Mehr von Hélio Martins (16)

Aula 9 insert, update e delete
Aula 9   insert, update e deleteAula 9   insert, update e delete
Aula 9 insert, update e delete
 
Aula 5 normalização dos dados
Aula 5   normalização dos dadosAula 5   normalização dos dados
Aula 5 normalização dos dados
 
Aula 4 modelo relacional
Aula 4   modelo relacionalAula 4   modelo relacional
Aula 4 modelo relacional
 
Aula 3 modelagem de dados
Aula 3   modelagem de dadosAula 3   modelagem de dados
Aula 3 modelagem de dados
 
Aula 2 arquitecturas de sgbd, utilizadores, perfis
Aula 2   arquitecturas de sgbd, utilizadores, perfisAula 2   arquitecturas de sgbd, utilizadores, perfis
Aula 2 arquitecturas de sgbd, utilizadores, perfis
 
Aula 1 introdução a base de dados
Aula 1   introdução a base de dadosAula 1   introdução a base de dados
Aula 1 introdução a base de dados
 
Aula 0 apresentação
Aula 0   apresentaçãoAula 0   apresentação
Aula 0 apresentação
 
T aula6-criptografia-certificado e assinatura digital
T aula6-criptografia-certificado e assinatura digitalT aula6-criptografia-certificado e assinatura digital
T aula6-criptografia-certificado e assinatura digital
 
Trab prático-iteracao1
Trab prático-iteracao1Trab prático-iteracao1
Trab prático-iteracao1
 
P aula3-trb teorico 2-criptografia
P aula3-trb teorico 2-criptografiaP aula3-trb teorico 2-criptografia
P aula3-trb teorico 2-criptografia
 
T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,T aula5-criptografia-distribuição de chaves,
T aula5-criptografia-distribuição de chaves,
 
T aula4-introducao-criptografia
T aula4-introducao-criptografiaT aula4-introducao-criptografia
T aula4-introducao-criptografia
 
T aula3-politicas de segurança
T aula3-politicas de segurançaT aula3-politicas de segurança
T aula3-politicas de segurança
 
P aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacasP aula2-trb teorico 1-ameacas
P aula2-trb teorico 1-ameacas
 
T aula2-revisões bases e ip
T aula2-revisões bases e ipT aula2-revisões bases e ip
T aula2-revisões bases e ip
 
T aula1-apresentação
T aula1-apresentaçãoT aula1-apresentação
T aula1-apresentação
 

BD Joins UNION INTERSECT MINUS

  • 2. Agenda Produto Cartesiano JOINs ALIAS de Tabelas UNION INTERSECT MINUS
  • 3. Produto Cartesiano O produto cartesiano é a associação N:N entre duas tabelas; Para juntar duas tabelas bastará fazer: SELECT * FROM pessoa, localidade O resultado será o produto cartesiano dos dois conjuntos. O produto cartesiano entre as tabelas pessoa e localidade associa a cada linha da tabela pessoa o conjunto das linhas da tabela localidade.
  • 4. JOIN O Conceito de JOIN (ligação) entre tabelas permite extrair, num único SELECT, informação contida em diferentes tabelas. JOIN utilizando WHERE INNERJOIN LEFTJOIN RIGHTJOIN
  • 5. INNER JOIN SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name=table2.column_name; or: SELECT column_name(s) FROM table1 JOIN table2 ON table1.column_name=table2.column_name;
  • 6. RIGHT JOIN SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name=table2.column_name; ou SELECT column_name(s) FROM table1 RIGHT OUTER JOIN table2 ON table1.column_name=table2.column_name;
  • 7. LEFT JOIN SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name=table2.column_name; or: SELECT column_name(s) FROM table1 LEFT OUTER JOIN table2 ON table1.column_name=table2.column_name;
  • 8. FULL JOIN SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name=table2.column_name;
  • 9. Juntado Tabelas Com Clausula WHERE A forma mais utilizada para se juntar tabelas é utilizando apenas a clausula WHERE. No entanto é preciso ter cuidado, colocando todas as condições necessárias para obter o resultado correcto. SELECT * FROM pessoa, localidade WHERE códigoLocal = código
  • 10. ALIAS de tabelas Se os campos de seleção ou junção de duas tabelas tiverem o mesmo nome, então para eliminar quaisquer ambiguidades, cada um dos campos deve ser precedido do nome da tabela, seguido de um ponto. O nome de uma tabela pode ser reduzido ou alterado num SELECT, através da utilização de um ALIAS que deve ser colocado à frente da tabela e que passará a ser uma outra forma de identificar a tabela.
  • 11. Misturando SELECT Existe a possibilidade de “Misturar” vários selects e no final ter apenas um. Para isso utiliza-se os seguintes operadores da teoria de conjuntos UNION INTERSECT MINUS
  • 12. UNION Permite fazer a reunião entre SELECTs. O número de campos a selecionar em cada um dos comandos SELECT tem de ser igual. Nota: Numa UNION, o nome das colunas apresentado no resultado é o nome das colunas selecionadas na primeira instrução SELECT. Cada SELECT pode conter a sua própria cláusula WHERE. No entanto, só poderá existir uma única cláusula ORDER BY no último SELECT, sendo a ordenação aplicada a todo o resultado.
  • 13. INTERSECT Permite fazer a Intersecção entre SELECTs O Operador INTERSECT permite juntar o conteúdo de dois comandos SELECT, apresentando apenas as linhas que resultam de ambos os comandos. Nota: O operador INTERSECT só é suportado pelo ORACLE.
  • 14. MINUS Permite Subtrair dois SELECTs Devolve os registos que resultam do primeiro SELECT e que não aparecem no segundo Nota: O operador MINUS só é suportado pelo ORACLE.