假设我有一个表 Person,他拥有许多书,涵盖了许多主题。一本书可能还没有分配给它们的任何主题。
很容易查询拥有一些没有带有左连接和空检查的主题的书籍的人。例如:
select * from persons p
inner join person_book pb on pb.person_id = p.id
left join book_subject bs on bs.book_id = person_book.book_id
where book_subject.book_id is null;
查询仅拥有没有既定主题的书籍的人的最佳方法是什么?
我知道我可以找到有书的人,以及至少有一本有主题的书的人,然后找到不同之处。但是有直接的方法吗?
(如果它有所作为,这将在 MySQL 中)。