Your SlideShare is downloading. ×
Inner Join
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Inner Join

3,713
views

Published on

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
3,713
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
52
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. PC II ETEC Antônio Devisate Aula 02: Comandos SQL Pesquisas em Múltiplas Tabelas Prof a Ms.Larissa Pavarini da Luz [email_address]
  • 2. Comandos SQL Pesquisa em Múltiplas Tabelas
    • Vínculo de Informação de dados de várias tabelas de forma a apresentar a informação de maneira correta.
    • A isto é dado o nome de união de tabelas ( join ).
    • A união se dá por meio de chaves primárias e estrangeiras. Elas são as colunas que as tabelas têm em comum.
  • 3. Comandos SQL União de Tabelas
    • Para realizar a união de tabelas basta acrescentar após a cláusula FROM do comando SELECT as tabelas que se deseja unir.
    • Deve-se colocar na Cláusula WHERE a condição de união das tabelas, ou seja, as respectivas chaves primária e estrangeira.
    • SINTAXE:
    • Select [tabela1.]coluna[,[tabela2.]coluna...]
    • from tabela1, tabela2,[...]
    • where tabela1.chave_primaria = tabela2.chave_estrangeira;
  • 4. Comandos SQL Conceito de Qualificador de Nome
    • O qualificador de nome consiste no nome da tabela seguido de um ponto (.) e o nome da coluna na tabela.
    • O qualificador de nome para a coluna GRAVADORA da tabela CD será:
    • CD .gravadora;
  • 5. Comandos SQL Produto Cartesiano
    • Ocorrerá um produto cartesiano sempre que:
      • A condição de união entre as tabelas for omitida (não houver cláusula where)
      • A condição de união entre as tabelas for inválida (cláusula where incorreta)
      • Todas as linhas da primeira tabela estiverem unidas a todas as linhas da segunda tabela.
        • Nessa situação, as linhas da primeira tabela serão combinadas com as linhas da segunda tabela, demonstrando um resultado na maior parte das vezes indesejado.
        • Utilizado apenas para teste de performance
  • 6. Comandos SQL União de Tabelas
    • Exemplo de produto Cartesiano:
    • Select CD. cod_CD, CD. Nome, MUSICA. genero
    • From CD, MUSICA;
  • 7. Comandos SQL
    • Como existem 3 linhas em CD e 3 linhas em MUSICA, chega a um total de 9 linhas (3*3) na busca. Como se nota há um linha de música para cada cd.
    • Torna-se assim uma informação incorreta.
    • Usa-se muito a cláusula WHERE
  • 8. Comandos SQL União Regular (inner join)
    • Denomina-se união regular as uniões que têm a cláusula WHERE unindo a chave primária à estrangeira das tabelas afetadas pelo comando SELECT.
    • Select CD. cod_CD, CD. Nome, MUSICA. genero
    • From CD, MUSICA
    • Where CD. cod_cd = MUSICA. cod_cd;
  • 9. Comandos SQL União Regular (inner join)
    • Dada as seguintes tabelas:
    CLIENTE Codigo_cliente Nome_cliente Estado cidade PEDIDO Num_pedido Codigo_cliente Codigo_vendedor Prazo_entrega quantidade ITEM_PEDIDO Num_pedido Codigo_produto PRODUTO Codigo_produto descricao VENDEDOR Cod_vendedor Nome_vendedor salario
  • 10. Comandos SQL União Regular (inner join)
    • Exemplos:
    • Ver os pedidos de cada cliente
    • tabelas usadas  cliente e pedido
  • 11. Comandos SQL União Regular (inner join)
    • Ver os pedidos de cada vendedor
    • tabelas usadas  pedido e vendedor
  • 12. Comandos SQL União Regular (inner join)
    • Quais clientes tem prazo de entrega superior a 15 dias e pertencem aos estados de São Paulo (‘SP’) ou Rio de Janeiro (‘RJ’)?
    • Comandos utilizados?
    • Operadores SQL e Operadores Lógicos
  • 13. Comandos SQL União Regular (inner join)
    • Apresentar os clientes e seus respectivos prazos de entrega, ordenados do maior para o menor.
  • 14. Comandos SQL União Regular (inner join)
    • Para que não escrever todas as vezes o nome da tabela nas qualificações de nome, é possível utilizar ALIASES (apelidos) definidos na própria consulta.
    • A definição dos ALIASES é feita na cláusula FROM e utilizada normalmente nas outras cláusulas.
      • Select, where, group by e etc.
    • SELECT C . nome_cliente, P. prazo_entrega
    • FROM CLIENTE C , PEDIDO P
    • WHERE C . cod_cliente = P . codigo_cliente
    • Order by P . prazo_entrega DESC;
  • 15. Comandos SQL União Regular (inner join)
    • Apresente os vendedores (ordenados) que emitiram pedidos com prazos de entrega superiores a 15 dias e tenham salários fixos iguais ou superiores a R$1.000,00.
  • 16. Comandos SQL União de mais de duas Tabelas
    • Freqüentemente é necessário unir mais de duas tabelas para fornecer uma informação relevante do BD.
    • Exemplo:
    • Apresente os clientes (ordenados) que tenham prazo de entrega maior que 15 dias para o produto ‘Queijo’ e sejam do Rio de Janeiro.
  • 17. Comandos SQL União de mais de duas Tabelas
    • Para resolver este problema será preciso usar as seguintes tabelas:
      • Rio de Janeiro  estado de um cliente
        • Tabela CLIENTE
      • Prazo de entrega tem que ser maior (>) 15  prazo de entrega de um pedido
        • Tabela PEDIDO
      • Produto é um Queijo  descrição do produto
        • Tabela PRODUTO
      • Numero do pedido no ITEM
        • Tabela ITEM_PEDIDO
  • 18. Comandos SQL União de mais de duas Tabelas Cliente Codigo_cliente Nome_cliente estado = ‘RJ’ Pedido Num_pedido Codigo_cliente prazo_entrega > 15 Item Pedido Num_pedido Codigo_prod Produto Codigo_prod descrição Queijo
  • 19. Comandos SQL União de mais de duas Tabelas
    • Mostre todos os vendedores que venderam chocolate em quantidade superior a 10 kg.
    •  vendedores, produto,pedido, item_pedido
  • 20. Comandos SQL União de mais de duas Tabelas
    • Quantos clientes fizeram pedido com o vendedor João?
    • Cliente, vendedor e pedido
  • 21. Comandos SQL União de mais de duas Tabelas
    • Quantos clientes da cidade do Rio de Janeiro e de Niterói tiveram seus pedidos tirados com o vendedor João?
    • Cliente, pedido e vendedor