Você está aqui: MySQL ::: Dicas & Truques ::: Joins (Junções) |
|||||
Como usar a junção INNER JOIN (ou CROSS JOIN) para agrupar dados de duas ou mais tabelas no MySQLQuantidade de visualizações: 11774 vezes |
|||||
A junção INNER JOIN (que pode ser substituída por CROSS JOIN) do MySQL é usada quando queremos agrupar dados de duas ou mais tabelas nas quais deverá haver, no mínimo, uma correspondência (match) nos campos das tabelas envolvidas. Vamos ver um exemplo? Considere duas tabelas: jogadores e times. Um jogador pode jogar em nenhum (zero) ou um time e um time pode conter zero ou mais jogadores. Aqui a cardinalidade é de 1 x N. Comece criando a tabela de times: Comando DDL CREATE TABLE para a tabela times:
Vá em frente e insira alguns times nesta tabela. Vamos agora criar a tabela de jogadores: Comando DDL CREATE TABLE para a tabela jogadores:
Note que o campo id_time da tabela jogador aceita NULL, ou seja, como é possível haver jogadores sem times, devemos ser capazes de cadastrar os jogadores e só mais adiante definir o time a qual ele pertencerá. Veja:
Vá em frente e cadastre alguns jogadores (sem relacioná-los com algum time). Finalizado alguns cadastros de jogadores e times, use a instrução UPDATE para relacionar alguns jogadores com seus respectivos times (deixe alguns jogadores sem time). Veja um exemplo:
E aqui vem a real utilidade da junção INNER JOIN. Nossa tarefa é listar o id, nome do jogador e nome do time a qual ele pertence. Mas, devemos incluir na listagem apenas os jogadores que estejam relacionados a algum time, ou seja, jogadores sem time não devem entrar na lista. Veja:
Note que o conjunto de dados retornados inclui apenas os jogadores cujo valor do campo id_time tenha um valor correspondente na chave primária (id) da tabela times. |
|||||
![]() |
|||||
Veja mais Dicas e truques de MySQL |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |