gpt4 book ai didi

java - 电影数据库查询

转载 作者:行者123 更新时间:2023-11-30 00:32:05 25 4
gpt4 key购买 nike

我需要您帮助我的电影测验应用程序,该应用程序会询问用户一个问题并给出 4 个答案(1 个正确,3 个错误)。我必须找到应用程序的查询,但它似乎对我不起作用。

这是表的架构 -

表一( movies )有 4 个值 - id(主键)、title(电影标题)、year(发行年份)、director(电影导演)

表二 ( stars ) 有 3 个值 - id(主键)、first_name、last_name

表三 ( stars_in_movies ) 有 2 个值 - movie_id、star_id (movie_id 和 star_id 都是外键

现在,回答问题:

我必须提出以下问题的查询,这些是我提出的查询。

  1. 电影 x 中有哪位明星出演?

    select first_name,last_name
    from stars_in_movies inner join stars
    where movie_id=%s and star_id=id;

    (这很好用)

  2. 谁执导了明星 x?

    select director
    from movies inner join stars_in_movies
    where star_id=%s and movie_id = id;

    (这似乎不起作用)

  3. 哪位明星同时出现在电影 x 和 y 中?

    select first_name,last_name
    from stars_in_movies inner join stars
    where (movie_id=%s and movie_id=%y) and star_id=id;

    (这似乎也不起作用)

  4. 哪位明星没有与明星 x 出现在同一部电影中?

    (我不知道如何处理这个查询,但我正在考虑创建一个辅助函数来随机选择一部至少有 3 颗星的电影,然后在问题中使用 1 颗星,其他两颗星是错误的答案。然后随机找到另一个未与第一个明星一起出现在电影中的明星。但我不知道如何为其编写代码)

最佳答案

哪位明星没有与明星 x 出现在同一部电影中?

select first_name --All stars who have not acted with star X
from stars
where star_id not in
(
select star_id --All stars who have acted with star X
from stars_in_movies
where movie_id in
(
select movie_id --All movies in which star X has acted
from stars_in_movies
where star_id = "X"
)
)

--哪位明星同时出现在电影 x 和 y 中?

select A.first_name
from stars A,
(
select star_id
from stars_in_movies
where movie_id = "X"
)B,
(
select star_id
from stars_in_movies
where movie_id = "Y"
)C
where A.star_id = B.star_id
AND B.star_id = C.star_id

谁导演了明星X?

select director -- directors who have worked with star X
from movies
where movie_id in
(
select movie_id --All movies in which star X has acted
from stars_in_movies
where star_id = "X"
)

关于java - 电影数据库查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22429871/

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