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

RECUPERANDO VALOR DO TEXTBOX NO DETAILSVIEW

Hoje vou postar uma dica que talvez seja util para em algumas situações no visual web developer, vou ensinar como recuperar/resgatar um valor de um TextBox dentro de um DetailsView .

MUDANDO A COR DA LINHA DE UMA GRIDVIEW PELO STATUS

Hoje vamos aprender a fazer algo simples, mas que pode ser muito util na visualização dos registros de uma GridView. Temos uma tabela com alguns registros, sendo que uma das colunas é "SITUACAO", que representa se o usuario está ou não ativo. Hoje vou mostrar como é simples "colorir" a GridView conforme o status de alguma coluna, que no nosso exemplo será utilizado a coluna SITUCAO. Vamos ao que interessa então, o que iremos fazer é colorir a linha da GridView de VERDE quando a situação for ATIVO e de AMARELO quando a situação for INATIVO.