sql - SQL 中的子查询和连接

标签 sql select join inner-join

我正在解决以下问题,我必须“列出所有与‘Art Garfunkel’合作过的人。”

问题是否定的。 16 在这里:http://sqlzoo.net/wiki/More_JOIN_operations

编辑:我编写了以下代码来获取整个姓名列表,但徒劳无功

select name 
from actor left join casting on id=actorid
where movieid IN ( select movieid
from casting left join actor on id=actorid
where id IN ( select id from actor where name ='Art Garfunkel'))

请告诉我哪里出错了?

最佳答案

试试这个:

SELECT a.name 
FROM actor a 
INNER JOIN casting b ON a.id = b.actorid 
INNER JOIN (SELECT b.movieid FROM casting b 
            INNER JOIN actor c ON b.actorid=c.id AND c.name = 'Art Garfunkel'
           ) c ON b.movieid = c.movieid 
where a.name <> 'Art Garfunkel';

关于sql - SQL 中的子查询和连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17927808/

相关文章:

python - Celery:轮询运行任务的结果

php - Laravel eloquent - 防止连接表时覆盖值

mysql - 从 GROUP 中选择数据和最新库存

MySQL SELECT 计数器,分组依据

sql - 如何使用nodejs和sql作为数据库构建搜索栏?

C# 将数据表添加到带有主键自动增量的 SQL

Java:如何以编程方式选择和展开 JTree 中的多个节点?

Mysql 5.7慢CASE WHEN THEN查询

forms - Laravel 表单选择自定义文本

MySQL : Problem in writing where clause according to scenario