Aula 8 select & joi ns

494 visualizações

Publicada em

0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
494
No SlideShare
0
A partir de incorporações
0
Número de incorporações
111
Ações
Compartilhamentos
0
Downloads
20
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Aula 8 select & joi ns

  1. 1. Base de Dados 1
  2. 2. Agenda Produto Cartesiano JOINs ALIAS de Tabelas UNION INTERSECT MINUS
  3. 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. 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. 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. 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. 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. 8. FULL JOIN SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_name=table2.column_name;
  9. 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. 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. 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. 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. 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. 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.

×