首页 > 解决方案 > 从在第 3 集与其杀手一起死去的角色中获取姓名

问题描述

我对这个sql问题有疑问。

mysql

这是桌子。

我目前拥有在第 3 集中死亡的所有角色名称,但我不知道如何获得角色杀手。

任何想法?

Select name from characters c, deaths d where c.id = d.id_character and d.id_film= (Select id from films f where f.episode = "Episode III")

到目前为止,这是我的 sql 查询。

标签: mysqlsqlinner-joinwhere-clause

解决方案


您可以加入字符表两次:

select c.name, k.name as killer
from films f
inner join deaths d on f.id = d.id_film
inner join characters c on c.id = d.id_character 
inner join characters k on k.id = d.id_killer
where f.episode = 'Episode III'

笔记:

  • 使用标准连接!隐式连接(在from子句中带有逗号)是(字面上)几十年前的遗留语法,不应在新代码中使用

  • 对文字字符串使用单引号;在标准 SQL 中,双引号代表标识符(尽管 MySQL 不同)


推荐阅读