Ir ao conteúdo
  • Cadastre-se

Iniciante em SQL, selecionar dados de duas tabelas. Alguém me ajuda?


RaFa.FaeL

Posts recomendados

Na verdade, o select que preciso fazer é em 5 tabelas, mas vou postar de forma bem simplificada sabendo que, se eu entender como faz esse "mais simples" eu poderei usar a mesma lógica para fazer um mais complicado.

Vamos a ele:

Tenho duas tabelas. Uma chama Filmes e outra diretor, elas contem os seguintes campos:

Obs.: Meu banco de dados é access 2007

"tab_filmes"

* cod_filme

- nome_filme

- cod_diretor

"tab_diretores"

* cod_diretor

- nome_diretor

Agora, vamos supor que eu tenha um sistema que busque um filme no banco --> select nome_filme from tab_filmes

Eu queria alterar este select para que, ao invés dele buscar somente o nome do filme, ele busque também o código do diretor na outra tabela.

Resumindo,

Como faz um select que vai buscar o nome do diretor na tab_diretores através do cód_diretor da tab_filmes ?

Link para o comentário
Compartilhar em outros sites

  • Moderador

simples amigo, como você esta usando relacionamentos... faça desta maneira:

SELECT f.nome_filme, d.nome_diretor FROM tab_filmes AS f

INNER JOIN tab_diretores AS d

ON d.cod_diretor = f.cod_diretor

bom eu dei uma destacada com cores para você entender algumas coisas... este codigo foi feito com "aliases"

para entender, vou retratar ele por extenso. você pode fazer desta maneira tambem:

SELECT tab_filmes.nome_filme, tab_diretores.nome_diretor FROM tab_filmes

INNER JOIN tab_diretores

ON tab_diretores.cod_diretor = tab_filmes.cod_diretor

ou seja, o INNER JOIN ali, é uma clausula que é usada para relacionar uma ou mais tabelas em uma consulta. no seu caso.. você esta comparando se o cod_diretor contido na tabela tab_diretores for igual ao cod_diretor contido na tabela tab_filmes.

a primeira versao ali em cima colorida... é um aliases.. ou seja.. é uma abreviaçao para facilitar...

Link para o comentário
Compartilhar em outros sites

simples amigo, como você esta usando relacionamentos... faça desta maneira:

SELECT f.nome_filme, d.nome_diretor FROM tab_filmes AS f

INNER JOIN tab_diretores AS d

ON d.cod_diretor = f.cod_diretor

bom eu dei uma destacada com cores para você entender algumas coisas... este codigo foi feito com "aliases"

para entender, vou retratar ele por extenso. você pode fazer desta maneira tambem:

SELECT tab_filmes.nome_filme, tab_diretores.nome_diretor FROM tab_filmes

INNER JOIN tab_diretores

ON tab_diretores.cod_diretor = tab_filmes.cod_diretor

ou seja, o INNER JOIN ali, é uma clausula que é usada para relacionar uma ou mais tabelas em uma consulta. no seu caso.. você esta comparando se o cod_diretor contido na tabela tab_diretores for igual ao cod_diretor contido na tabela tab_filmes.

a primeira versao ali em cima colorida... é um aliases.. ou seja.. é uma abreviaçao para facilitar...

Muito obrigado, amigo! Consegui entender o comando!

Agradeço, novamente, a ajuda, parabéns!

Tenha uma ótima semana!

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!