Если эти значения topic_id являются числами, вам необходимо знать, какие номера topic_id вам нужны.
Или потребуется дополнительная таблица, из которой можно выбрать эти типы 'SQL' и 'DB'.
Fe
Table-4 (bk_topics): topic_id, topic_type
В этом случае приведенный ниже SQL просто использует объединения и подзапрос:
select
b.book_id,
b.title
from bk_book_topics bt
join
(
select topic_id
from bk_topics
where (topic_type = 'SQL' or topic_type = 'DB')
group by topic_id
) t on (t.topic_id = bt.topic_id)
join bk_order_details o on (o.book_id = bt.book_id)
join bk_books b on (b.book_id = o.book_id)
group by b.book_id, b.title
order by b.book_id
Если этот topic_id не число, а varchar, который имеет тетипы?
А если использование подзапроса разрешено, но не обязательно?
Тогда его можно закодировать в гольф:
select
b.book_id,
b.title
from bk_book_topics bt
join bk_order_details o on (o.book_id = bt.book_id)
join bk_books b on (b.book_id = o.book_id)
where bt.topic_id in ('SQL','DB')
group by b.book_id, b.title
order by b.book_id