我有两个表之间的所有权关系,
说users(int user_id)
和user_books(int user_book_id,int user_id,int book_id)
以及另外两个表books(int book_id, varchar book_title, int author_id)
和authors (int author_id, varchar author_name)
。
鉴于具体user_id
我希望获得用户所不具备的书籍,作者在书中写明他确实有其他书籍。
因此,如果用户有BOOK1(即在user_books
中存在一行),并且没有BOOK2和BOOK3由同一作者写的BOOK1,我想得到BOOK2的ID和BOOK3。
我想我可以使用SELECT WHERE NOT IN()执行此操作,但出于性能原因,我正在寻找基于连接的解决方案。