gpt4 book ai didi

mysql - 使用复杂子查询进行 SQL 练习

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

我正在尝试使用 SQL 进行查询。该数据库是 IMBD 之一。这是形式:

enter image description here

所以,我需要电影《低俗小说》(id=2175869) 中从未与《低俗小说》的其他 Actor 在其他电影中合作过的 Actor 。

应该是这样的:

SELECT person_id FROM cast_info WHERE movie_id = 2175869 AND
person_id NOT IN (SELECT )

但我不知道如何完成第二部分。

最佳答案

稍后用作子查询的查询,返回低俗小说以外的电影,其中有不止一位低俗小说的 Actor 在其中演出

SELECT movie_id
FROM cast_info
WHERE
movie_id <> 2175869 AND
person_id IN (SELECT person_id FROM cast_info WHERE movie_id = 2175869)
GROUP BY movie_id
HAVING COUNT(*) > 1

现在让那些从未出演过此类电影的人在低俗小说中扮演

SELECT person_id
FROM cast_info
WHERE
movie_id = 2175869 AND
person_id NOT IN (
SELECT person_id FROM cast_info WHERE movie_id IN (
SELECT movie_id
FROM cast_info
WHERE
movie_id <> 2175869 AND
person_id IN (SELECT person_id FROM cast_info WHERE movie_id = 2175869)
GROUP BY movie_id
HAVING COUNT(*) > 1
)
)

注意:我假设每部电影只能选一名 Actor 一次。如果同一 Actor 可以在同一部电影中扮演不同角色,请将 COUNT(*) 替换为 COUNT(DISTINCT person_id)

关于mysql - 使用复杂子查询进行 SQL 练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46990997/

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