Pular para o conteúdo principal

[MYSQL] USANDO INNER JOIN

Hoje vou mostrar um exemplo de como usar o INNER JOIN no banco MySQL.

Para que você possa entender o uso do INNER JOIN, imagine que você tem um sistema de controle de salas,e no seu BD tem 3 tabelas:


1º Tabela (tb_sala) - Tabela com 3 campos (ID_SALA, SALA, DESCRICAO)
2ª Tabela (tb_departamento) - Tabela com 2 campos (ID_DEPARTAMENTO, DEPARTAMENTO)
3ª Tabela (tb_movimento) - Tabela com 5 campos (ID_MOVIMENTO, ID_SALA[FOREIGN KEY], ID_DEPARTAMENTO[FOREIGN KEY], EVENTO, SOLICITANTE)

Imaginemos então que você desenvolveu seu sistema e na hora de dar um SELECT na TB_MOVIMENTO o valor do campo ID_SALA aparece um numero e o valor do campo ID_DEPARTAMENTO também aparece um numero, ou seja, o usuario do ssietam não saberá que numero é aquela sala e nem que numero é aquele departamento, o que fazer então? Simples, usar o INNER JOIN no seu SELECT.

Veja na imagem abaixo um exemplo na prática do INNER JOIN sendo utilizado, perceba que no resultado ao invés de trazer o código ID_SALA e o código ID_DEPARTAMENTO, o resultado traz o NOME do DEPARTAMENTO e o NOME da SALA.

IMAGEM DO SELECT SEM INNER JOIN


IMAGEM DO SELECT COM INNER JOIN


Vou dar um breve explicação do SELECT:

//Linha onde informo os campos que quero que sejam mostrados no resultado da minha consulta
SELECT ID_MOVIMENTO, SALA, DEPARTAMENTO, SOLICITANTE, EVENTO

//Linha onde informo a tabela que receberá os campos que estou unindo a ela (ou seja, onde estou fazendo o INNER JOIN)
FROM TB_MOVIMENTO

//Linha onde informo qual campo da tabela movimento deverá ser comparado com o campo da tabela departamento ou seja, se o valor do id_departamento da tabela movimento for igual ao id_departamento da tabela departamento é esse registro que quero juntar na tabela movimento
INNER JOIN TB_DEPARTAMENTO ON TB_MOVIMENTO.id_departamento=TB_DEPARTAMENTO.id_departamento

//Faço a mesma verificação que é feita acimá só que desta vez na tabela sala
INNER JOIN TB_SALA ON TB_MOVIMENTO.id_sala=TB_SALA.id_sala

//Linha de Where normal, onde informo qual registro estou procurando
WHERE TB_MOVIMENTO.id_departamento=1

Espero poder ter ajudado, até a próxima!!!

Comentários

Postagens mais visitadas deste blog

[ASP.NET] CHAMANDO EXECUTAVEL EM CSHARP.NET

Olá amigos visitantes do meu Blog, primeiramente gostaria de agradecer a todos que acessam ou acessaram meu blog e principalmente aqueles que deixaram algum comentários, outra coisa que queria falar é que ta froid, muita correria e sem tempo para postar no blog mas prometo que tentarei postar com mais frequência.

Login de acesso utilizando arquivo XML

Depois de muito tempo sem postar nada, hoje vou demonstrar como utilizar um arquivo XML para validar login de usuário. Para começar vamos criando um  simples arquivo xml com a seguinte estrutura abaixo: <?xml version="1.0" encoding="utf-8" ?> <dados>     <acesso>         <usuario>administrador</usuario>         <senha>123</senha>     </acesso> </dados>