Em um sistema de biblioteca, existem três tabelas com as
seguintes colunas.
• livros : com um identificador único (id ) para cada livro, o
título do livro, um campo autor_id , que indica o autor que
cadastrou o livro, um campo categoria_id , que indica a
que categoria o livro pertence, e um campo booleano
disponível para indicar se o livro está disponível para
empréstimo (TRUE ) ou não (FALSE ).
• autores : com um identificador único (id) para cada autor, e
o nome do autor.
• categorias : com um identificador único (id) para cada
categoria, e o nome da categoria.
Há uma relação implícita entre livros.autor_id e
e e
ntr
e livros.categoria_id e
categorias.id, de modo que, para um livro válido, deve
existir um autor correspondente e uma categoria correspondente.
A partir das informações precedentes, assinale a opção em que é
corretamente apresentada a consulta SQL que permite a obtenção
apenas dos livros cujo campo disponivel seja TRUE , desde que
já existam registros correspondentes em autores e categorias, e,
além disso, filtre somente os livros cuja categoria tenha o nome
Ficção Científica, e apresente como resultado exatamente
três colunas: título do livro, nome do autor e nome da categoria.
✂️ a) S ELECT titulo, nome, nome FROM livros l INNER JOIN autores a ON l.autor_id = a.id INNER JOIN categorias c ON l.categoria_id = c.id WHERE disponivel = TRUE AND c.nome = 'Ficção Científica'; ✂️ b) SELECT l. titulo, a.nome, c.nome
FROM livros l
LEFT JOIN autores a
ON l.autor_id = a.id
LEFT JOIN categorias c
ON l.categoria_id = c.id
WHERE l.disponivel = TRUE
AND c.nome = 'Ficção Científica'; ✂️ c) SELECT l.titulo, a.nome, c.nome
FROM livros l, autores a, categorias c
WHERE l.autor_id = a.id
AND l.categoria_id = c.id
AND l.disponivel = TRUE
AND c.nome LIKE '%Ficção Científica%'; ✂️ d) SELECT l.titulo, a.nome, c.nome
FROM livros AS l
INNER JOIN autores AS a
ON l.autor_id = a.id
INNER JOIN categorias AS c
ON l.categoria_id = c.id
WHERE l.disponivel = 'S'
AND c.nome = 'Ficção Científica'; ✂️ e) SELECT l.titulo, a.nome AS autor, c.nome AS categoria FROM livros AS l INNER JOIN autores AS a ON l.autor_id = a.id INNER JOIN categorias AS c ON l.categoria_id = c.id WHERE l.disponivel = TRUE AND c.nome = 'Ficção Científica';