You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WHERE子句SQL问题:查询作者Mark Yee撰写论文的PANUM

解决方法

你需要通过关联三张表来实现这个需求,推荐使用显式JOIN替代旧的逗号连接表的方式,这样代码可读性更强,还能避免意外的笛卡尔积问题。

完整的SQL查询如下:

SELECT a.panum
FROM AUTHOR a
JOIN ACADEMIC ac ON a.acnum = ac.acnum
WHERE ac.givenname = 'Mark' AND ac.famname = 'Yee';

逻辑说明:

  • 先通过ACADEMIC表筛选出姓名为Mark Yee对应的作者编号ACNUM
  • 再通过ACNUM这个关联字段,把AUTHOR表和ACADEMIC表连接起来,从而获取该作者所有的论文编号PANUM

如果暂时习惯用原来的逗号连接方式(不推荐,但也能正常运行),对应的写法是:

SELECT panum
FROM AUTHOR, ACADEMIC
WHERE AUTHOR.acnum = ACADEMIC.acnum
AND ACADEMIC.givenname = 'Mark'
AND ACADEMIC.famname = 'Yee';

不过还是更建议用显式JOIN,这是现代SQL的标准写法,后续维护起来会更省心~

内容的提问来源于stack exchange,提问作者user8420047

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 04:12:08