Tengo una relación n-to-m entre Author
y Book
.SQL select en la relación n a m
Tabla Autor
ID Name
1 Follett
2 Rowling
3 Martin
Tabla libro
ID Title Category
1 A Dance with Dragons Fantasy
2 Harry Potter Fantasy
3 The Key to Rebecca Thriller
4 World without end Drama
Tabla BOOK_AUTHOR
authorId bookId
1 3
2 2
3 1
1 4
Hay un montón más autores y libros en el sistema. Ahora quiero seleccionar todos los autores que tengan un libro en el género "Fantasy".
Esto es lo que ocurrió hasta ahora con:
select distinct a.id
from author a, book b, written w
where w.authorId = a.id and w.bookId = b.id and b.category = "Fantasy";
Me pregunto cómo optimizar esta consulta ya que todo libro de mesa es muy grande.
¿Las tablas tienen índices? En que columnas? –