Gente esse e meu diagrama relacional e eu estou fazendo alguns select por exemplo:
Selecione o id, nome do usuário e data de devolução de todos os
empréstimos feitos:
ai eu usei esse comando:
SELECT usuario.id_usuario, usuario.nome, emprestimo.devolucao
FROM usuario
INNER JOIN emprestimo ON usuario.id_usuario=emprestimo.id_usuario;
deu certinho
mas agora esse proximo select eu nao faço ideia de como fazer alguém me ajuda? segue a duvida:
Selecione nome da obra e nome da editora usando join. (vai ter que usar 3 tabelas por isso to com tanta dificuldade)
Bom dia!
Você só precisa ir incrementando o SQL com o próximo join.
Veja
Select u.id_usuario, u.nome, e.devolucao, o.nome_obra
FROM usuario u
INNER JOIN emprestimo e ON(u.id_usuario = e.id_usuario)
INNER JOIN obra o on(e.id_obra = o.id_obra)
Veja que neste caso eu selecionei usuário, fazendo um join com emprestimo e depois efetuei um join do emprestimo com a obra.
Veja também que eu dei um alias(apelido) para as tabelas. A tabela usuario eu vou chamar de “u”, a tabela emprestimo vai ser “e” e a tabela obra será “o”
obrigada pela resposta mas a duvida é outra, a parte do emprestimo eu consegui fazer , a minha duvida como vou dar select no nome da obra e nome da editora sendo que as informacoes estao em tabelas que nem se ligam. a duvida e o select nome da obra e nome da editora usando o join.
Com este sql que eu te passe já da para saber o nome da obra.
Para saber o nome da editora é só você seguir o join até esta tabela.
Analisa o sql que te passei e procura entender como foi feito a ligação.
Olá, você deve ‘navegar’ nas tabelas que existe algo que você pode comparar e relacionar ate obter todos valores necessários, a tabela Exemplar possui o ID da obra e o ID da Editora, então ela será sua tabela que irá ligar as duas. Ficaria algo assim:
SELECT ob.nome_obra,
ed.nome_editora
FROM nome_banco.obra ob
INNER JOIN nome_banco.exemplar ex ON (ob.id_obra = ex.id_obra)
INNER JOIN nome_banco.editora ed ON (ex.id_editora = ed.id_editora)