Your SlideShare is downloading. ×
O comando SELECT (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

O comando SELECT (JOIN)

1,502
views

Published on


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

  • Be the first to like this

No Downloads
Views
Total Views
1,502
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
17
Comments
0
Likes
0
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. JOIN MySQL O comando SELECT Escola Secundária D. Afonso Sanches Vila do Conde Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 2. Índice: O que é o “JOIN”? Ligação entre tabelas: chaves estrangeiras e chaves primárias Sintaxe geral do comando SELECT recorrendo ao JOIN Produto cartesiano de tabelas INNER JOIN OUTER JOIN UNION SELF JOIN INTERSECT MINUS Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 3. O que é o “JOIN”? O Join permite obter informação a partir de várias tabelas, recorrendo apenas a um único comando SELECT. Note que: o Modelo Relacional estabelece claramente as regras para a divisão da informação entre tabelas, de forma a evitar a redundância na informação; para interligar as várias tabelas são utilizadas as chaves primárias de cada uma delas; ● as chaves primárias de uma tabela são utilizadas nas outras tabelas, na qualidade de chaves estrangeira, permitindo desta forma a sua interligação. ● ● Pessoa Localidade Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 4. Chave primária A chave primária (Primary Key)é, no contexto das bases de dados relacionais, o conjunto de um ou mais campos, cujos valores nunca se repetem e que podem ser usadas como um índice para os demais campos da tabela. Quando um campo é chave primária, não pode haver valores nulos nem repetições do seu conteúdo. Exemplo: Pessoa (bi, nome, ...) bi nome ... 123 Ana ... 543 Maria ... 342 Carla ... 654 Joana ... bi nome ... 123 Ana ... 543 Maria ... 342 Carla ... 123 Joana ... Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 5. Chave estrangeira Uma chave estrangeira (foreign key) é um campo que aponta para a chave primária de outra tabela, o que torna possível estabelecer o relacionamento entre ambas. O recurso às chaves estrangeiras possibilita garantir a integridade referencial dos dados "dispersos" pelas várias tabelas de acordo com as regras definidas para o modelo relacional. Exemplo: Pessoa (bi, nome, cpostal) Localidade( cp, nomelocalidade) Pessoa bi nome cpostal 123 Ana 1000 543 Maria 4000 342 Carla 4480 654 Joana Chave estrangeira 4480 Localidade cp 1000 Lisboa 4000 Chave primária nomelocalidade Porto 4480 Vila do Conde Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 6. Sintaxe geral do comando SELECT recorrendo ao JOIN A junção de tabelas faz-se indicando o nome das mesmas na cláusula FROM: SELECT campo1, campo2, campo3, ..., campon, * FROM tabela1, tabela2, … tabelak Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 7. Produto Cartesiano (Cross- JOIN) Na Matemática, dados dois conjuntos X e Y, o produto cartesiano (ou produto directo) dos dois conjuntos (escrito como X × Y) é o conjunto de todos os pares ordenados cujo primeiro elemento pertence a X e o segundo, a Y. No nosso contexto, o produto cartesiano das duas tabelas Pessoa e Localidade é: Pessoa Pessoa x Localidade #4 Localidade #3 Equi-Join # 4 x 3 = 12 Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 8. Natural Join Como vimos no diapositivo anterior, quando a ligação entre duas tabelas é realizada através da igualdade entre duas colunas, este tipo particular de join designa-se equi-join. Um natural-join existe quando todas as colunas envolvidas na ligação entre as tabelas são apresentadas sem repetição de colunas. Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 9. Inner Join O Inner Join corresponde a uma outra designação para o join habitual em que se juntam duas ou mais tabelas, ligando-as através da chave primária de uma e da chave estrangeira de outra. Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 10. Inner Join Outra forma de obter exactamente o mesmo resultado consiste em recorrer explicitamente à cláusula Inner Join, como é demonstrado a seguir: Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 11. Outer Join (left join e right join) O papel do Outer Join é permitir que a totalidade das linhas de uma tabela seja obtida, ainda que não exista o correspondente valor na outra tabela a que está ligada pela junção. Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 12. Union Uma união não é propriamente uma ligação entre tabelas. A UNION permite juntar o conteúdo de dois ou mais comandos SELECT. Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 13. Um exemplo (pimba) de utilização do inner join A base de dados tem o seguinte modelo. Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 14. Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 15. Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 16. Graciano Torrão ( http://gracianotorrao.com ) Programação e Sistemas de Informação
  • 17. Dúvidas? Escola Secundária D. Afonso Sanches Vila do Conde Graciano Torrão 17 ( graciano.torrao@gmail.com ) ( http://gracianotorrao.com ) Programação e Sistemas de Informação

×