首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >简化嵌套查询

问简化嵌套查询
EN

Stack Overflow用户
提问于 2020-10-17 00:47:39
回答 1查看 174关注 0票数 0
代码语言:javascript
复制
select name 
from person, author, article
where name != "John Doe" AND
      person.pid = author.pid AND
      author.aid = article.aid AND
        title = select title
                from author, person, article
                where person.name = "John Doe" AND
                      author.pid = person.pid AND
                      article.aid = author.aid

上面是我用sqlite为关系代数编写的嵌套查询,它输出了与John合作撰写文章的人的名字。

下面是关系模式:

文章作者(资助,头衔,年份,姓名,归属)作者(资助,pid)人。

我的问题是如何简化嵌套查询?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-17 00:56:10

我看不出你的问题与正则表达式有什么关系。不过,如果您想知道与John合著的人的姓名,我建议您加入:

代码语言:javascript
复制
select distinct pe2.name
from person pe1
inner join author  au1 on au1.pid = pe1.pid
inner join author  au2 on au2.aid = au1.aid and au2.pid <> au1.pid
inner join person  pe2 on pe2.pid = au2.pid
where pe1.name = 'John Doe'

查询从person John开始,并在author中引入相应的行;然后,它搜索所有的合著者,并最终带来它们的名称。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64398039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档