Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何获取链接到另一个表的搜索条件的结果?_Sql_Oracle - Fatal编程技术网

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

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 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 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问题?如果一本书可以有许多作者,并且作者是一个表,那么这会影响答案。