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

我写的查询参演电影去重演员姓名的SQL语句是否正确?

SQL写法正误判断

结论

你编写的SQL语句不符合需求,写法错误。

错误原因

  • 需求仅要求返回去重的演员姓名,你的语句SELECT后同时携带了name和rolename两个字段,DISTINCT关键字会对「演员姓名+角色名」的组合值进行去重,而非仅对演员姓名去重。如果同一个演员饰演过多个不同角色,最终查询结果中该演员的姓名会重复出现,不满足要求。
  • 额外说明:该需求无需关联movie表即可实现,actor_role表中已经存储了所有参演过电影的演员AID,关联movie表属于多余操作,但不影响最终结果正确性。

正确写法示例

写法1(最简写法,无需关联movie表)

SELECT DISTINCT a.name
FROM actor a
INNER JOIN actor_role ar ON a.AID = ar.AID;

写法2(保留原关联逻辑,仅修正查询字段)

SELECT DISTINCT name
FROM movie
JOIN actor_role ON actor_role.MID = movie.MID
JOIN actor ON actor_role.AID = actor.AID;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 15:54:08