Sql 选择出现在两个位置的条目
以下是模式:Sql 选择出现在两个位置的条目,sql,select,Sql,Select,以下是模式: CREATE TABLE AUTHOR ( AID char(9), Aname VARCHAR(10), Occupation VARCHAR(10), PRIMARY KEY(AID) ); CREATE TABLE Book ( ISBN CHAR(7), Year NUMBER(4), Title VARCHAR(20), PRIMARY KEY(ISBN) ); CREATE TABLE Pa
CREATE TABLE AUTHOR (
AID char(9),
Aname VARCHAR(10),
Occupation VARCHAR(10),
PRIMARY KEY(AID)
);
CREATE TABLE Book (
ISBN CHAR(7),
Year NUMBER(4),
Title VARCHAR(20),
PRIMARY KEY(ISBN)
);
CREATE TABLE Paper (
PID CHAR(4),
Title VARCHAR(20),
ISBN CHAR(7),
PRIMARY KEY (PID),
FOREIGNN KEY (ISBN) REFERENCES BOOK
);
CREATE TABLE WRITES (
AID CHAR(9),
PID CHAR(4),
PRIMARY KEY (AD,PID),
FOREIGN KEY (AID) REFERENCES Author,
FOREIGN KEY(PID) REFERENCES Paper
);
为了找到论文同时出现在《人工智能》和《通用算法》两本书中的作者姓名,我应该执行什么样的SQL查询?集中思考。您正在查找A册论文作者集和B册论文作者集中的作者:
select * from author
where aid in
(
select aid from writes where pid in
(
select pid from paper where isbn in
(
select isbn from book where title = 'Artificial Intelligence'
)
)
)
and aid in
(
select aid from writes where pid in
(
select pid from paper where isbn in
(
select isbn from book where title = 'Generic Algorithms'
)
)
);
这是测验中的问题还是什么?这是关于SQL的练习题。我不知道答案,所以决定提问并学习。我不是真的想在任何学校作业/测验中抄袭。那很好。对不起,我不是故意让你失去动力的。继续质疑!没关系。非常感谢Maheswaran!非常感谢。但愿我有足够的声誉来投票。当书名输入增加时,考虑到大量数据,这会在框架查询和性能方面产生开销。嗯,该语句在任何地方都使用索引非常快。只有当你期望找到大量作者时,这才没有意义。是的,当用于更多的书籍时,它看起来有点笨拙:-)正如您在回答中所说:有很多方法可以编写查询。