Sql 如何获取链接到另一个表的搜索条件的结果?
我试图列出所有的书名,因为它们的作者都是《数据库原理》一书的作者。我不知道如何将写这本书的作者与书名从表book and author链接起来。我该怎么做 假设Sql 如何获取链接到另一个表的搜索条件的结果?,sql,oracle,Sql,Oracle,我试图列出所有的书名,因为它们的作者都是《数据库原理》一书的作者。我不知道如何将写这本书的作者与书名从表book and author链接起来。我该怎么做 假设BOOK表中有一列AID,该列是指向作者表的AUTHORID的FK 有很多方法可以做到这一点 内部查询 SELECT B.* FROM BOOK B WHERE B.AID IN (SELECT AID FROM BOOK WHERE TITLE LIKE '%?%'); Joines SELECT B1.* FROM BOOK B1
BOOK
表中有一列AID
,该列是指向作者
表的AUTHORID
的FK
有很多方法可以做到这一点
内部查询
SELECT B.* FROM BOOK B WHERE B.AID IN (SELECT AID FROM BOOK WHERE TITLE LIKE '%?%');
Joines
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 '%?%';
在
书
表中应首先引用作者
表中的FK(外键),以便将它们链接在一起这是数据建模问题还是SQL问题?如果一本书可以有许多作者,并且作者是一个表,那么这会影响答案。