Puxar dados inexistente de outra tabela que contenha o dado existente

MySQL

26/02/2015

Olá boa tarde a todos.
Estou querendo montar uma query, que parece ser bastante simples mas não estou conseguindo, vou dar um exemplo usando duas tabelas, a tabela funcionario e a tabela Banco_horas.

Tabela: funcionario
Campos: matricula, nome

Matricula Nome
001 Joao
002 Maria
003 Pedro

Tabela: Banco_horas
Campos: matricula, data, horas

Matricula data Horas
001 26/02/2015 5
002 26/02/2015 6
003 - Nunca fez banco de horas


Seguinte, na tabela Banco_horas, todas as pessoas que um dia fez banco de horas esta registrado ai, e quem nunca fez não existe registro ok. Gostaria de montar uma query onde traga todos os nomes dos funcionários independente dele ter feito banco de horas ou não ou seja independente do registro existir ou não existir na tabela banco_horas ou seja um exemplo abaixo de como gostaria que ficasse.

Tabela: saldo
Campos: Matricula, Nome, data, horas

Matricula Nome data Horas
001 Joao 26/02/2015 5
002 Maria 26/02/2015 6
003 Pedro NULL NULL

Então preciso de uma tabela igual acima, ou seja mesmo que não haja registro na tabela Banco_horas apareça os nomes dos funcionários e o restante nulo, o importante é aparecer o nome do funcionário.

Como devo proceder ?
Dagoberto Neto

Dagoberto Neto

Curtidas 0

Respostas

Randrade

Randrade

26/02/2015

Tente fazer um left join:

select f.matricula, f.nome, b.data, b.horas from funcionario as f 
left join banco_horas as b on f.matricula = b.matricula;
GOSTEI 0
Thiago Santana

Thiago Santana

26/02/2015

Neto, dá uma olhada neste link abaixo que você entenderá o que precisa fazer no seu problema!

Left Join
GOSTEI 0
Dagoberto Neto

Dagoberto Neto

26/02/2015

Bom dia a todos
Desculpe a demora para a resposta aqui no Fórum.
Depois de ler e aprender um pouco consegui resolver meu problema utilizando os JOIN da vida kkkk.
Obrigado.
GOSTEI 0
Thiago Santana

Thiago Santana

26/02/2015

Boa! É isso ai...
GOSTEI 0
POSTAR