gpt4 book ai didi

mysql - 结合 LIKE 和 EXISTS?

转载 作者:行者123 更新时间:2023-11-29 10:14:16 25 4
gpt4 key购买 nike

这是我正在使用的数据库:https://drive.google.com/file/d/1ArJekOQpal0JFIr1h3NXYcFVngnCNUxg/view?usp=sharing

查找标题包含字符串“data”并且至少有一位作者的论文来自 deptnum 100 的部门。列出这些论文的全名和标题。你必须使用 EXISTS 运算符。确保您的查询不区分大小写。

我不确定如何输出每个学者的论文总数。

我对这个问题的尝试:

SELECT panum, title
FROM department NATURAL JOIN paper
WHERE UPPER(title) LIKE ('%data%') AND EXISTS (SELECT deptnum FROM
department WHERE deptnum = 100);

这似乎是空的。我不确定我做错了什么,LIKE 和 EXISTS 可以组合起来吗?

谢谢。

最佳答案

不要使用自然连接!这是令人厌恶的,因为它没有使用显式声明的外键关系。明确列出您的join 键,以便查询更易于理解且更易于维护。

也就是说,你的子查询就是问题所在。我希望查询更像这样:

SELECT p.panum, p.title
FROM paper p
WHERE lower(p.title) LIKE '%data%' AND
EXISTS (SELECT 1
FROM authors
WHERE a.author = p.author AND -- or whatever the column should be
a.deptnum = 100
);

关于mysql - 结合 LIKE 和 EXISTS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50361413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com