如何获得链接到另一个表的搜索条件的结果?

时间:2017-04-23 04:42:57

标签: sql oracle

我试图列出所有的书名,因为他们有同样的作者写过这本书'数据库原则'。我不确定如何将编写本书的作者与书籍和作者表中的书名联系起来。我该怎么做?

enter image description here

1 个答案:

答案 0 :(得分:0)

假设BOOK表的列AID是指向AUTHORID表的AUTHOR的FK。

有很多方法可以这样做。

内部查询

SELECT B.* FROM BOOK B  WHERE B.AID IN (SELECT AID FROM BOOK WHERE TITLE LIKE '%?%');

<强>乔伊纳

SELECT B1.* FROM BOOK B1  , BOOK B2 WHERE B1.AID = B2.AID AND B2.TITLE LIKE '%?%';

左外连接

SELECT B1.* FROM BOOK B1 LEFT OUTER JOIN  BOOK B2 ON B1.AID = B2.AID WHERE B2.TITLE LIKE '%?%';