Ed
semana passada
Vamos analisar a questão passo a passo: Queremos listar todos os livros que estão atualmente emprestados, ou seja, livros cujo id_livro está na tabela Emprestimos e cuja data_devolucao é NULL (não devolvidos ainda). Analisando as alternativas: A) SELECT Livros.* FROM Livros OUTER JOIN Emprestimos ON Livros.id_livro = Emprestimos.id_livro WHERE Emprestimos.data_devolucao IS NULL; - "OUTER JOIN" não é uma sintaxe correta isolada, precisa ser LEFT, RIGHT ou FULL OUTER JOIN. Então, essa opção está incorreta. B) SELECT Livros.* FROM Livros LEFT JOIN Emprestimos ON Livros.id_livro = Emprestimos.id_livro WHERE Emprestimos.data_devolucad IS NOT NULL; - Além do erro de digitação em "data_devolucad", o filtro é para data_devolucao IS NOT NULL, ou seja, livros já devolvidos, o que é o oposto do que queremos. C) SELECT Livros.* FROM Livros WHERE Livros.id_livro NOT IN (SELECT id_livro FROM Emprestimos WHERE data_devolucao IS NULL); - Essa consulta retorna livros que NÃO estão emprestados (id_livro que não estão na lista de livros com data_devolucao NULL). Errado. D) SELECT Livros.* FROM Livros INNER JOIN Emprestimos ON Livros.id_livro = Emprestimos.id_livro WHERE Emprestimos.data_devolucao IS NULL; - Essa consulta retorna os livros que têm empréstimos com data_devolucao NULL, ou seja, livros emprestados e ainda não devolvidos. Correto. E) SELECT Livros.* FROM Livros WHERE - Consulta incompleta. Portanto, a alternativa correta é a letra D.
Cadastre-se ou realize login