首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pset7 -电影卡在12和13 SQL上?

Pset7 -电影卡在12和13 SQL上?
EN

Stack Overflow用户
提问于 2020-01-13 02:36:45
回答 3查看 4.6K关注 0票数 2

我目前正在使用CS50 PSET7 (https://cs50.harvard.edu/x/2020/psets/7/movies/),我不知道如何做12.sql和13.sql (在链接中解释)。有人能帮帮我吗?

EN

回答 3

Stack Overflow用户

发布于 2020-05-06 07:36:59

对于12.sql:查找"id's of Johnny Depp movies“中的”id“和"id's of Helena Bonham卡特movies”中的“id”的电影标题,例如:

代码语言:javascript
运行
复制
SELECT "title" FROM "movies" 
WHERE "id" IN (-- code to select movie id's in which "Johnny Depp" starred)
AND "id" IN (-- code to select movie id's in which "Helena Bonham Carter" starred);

对于13.sql:查找“star”中“movie_id_id”与"Kevin Bacon (生于: 1958)“中的"movie_id”对应的人名,以及!= "Kevin Bacon",例如:

代码语言:javascript
运行
复制
SELECT "name" FROM "people"
WHERE "id" IN 
(-- select "person id's" from "stars" where "movie id" in
(-- select "movie id's" in which "Kevin Bacon (born: 1958)" starred))
AND "name" != "Kevin Bacon";

在13.sql的第二个括号中,要查询"Kevin Bacon born in 1958",您可以编写如下代码:

代码语言:javascript
运行
复制
... WHERE "people"."name" = "Kevin Bacon" AND "people"."birth" = 1958))...

思考简单,不需要做任何花哨的事情。

票数 2
EN

Stack Overflow用户

发布于 2020-03-23 04:19:36

12.sql

考虑使用HAVING ()

https://www.w3resource.com/sql/aggregate-functions/count-having.php

13.sql

正如我在another thread中回答的那样,我发现这些步骤很有帮助:

  1. 获取凯文·培根的ID,条件是它是出生于1958年的凯文·培根
  2. 使用他的ID获取凯文·培根的电影ID (提示:在table1中链接他的ID与table2)
  3. 使用相同的电影ID获取其他明星的ID
  4. 获取这些明星的名称,并排除凯文·培根(因为规范说他不应该包括在结果列表中)
票数 1
EN

Stack Overflow用户

发布于 2020-02-02 02:22:58

对于这两个Pset,您都需要使用嵌套的SELECT语句,例如:

代码语言:javascript
运行
复制
SELECT table.column FROM table WHERE table.column IN (SELECT table.column2 FROM table WHERE ...)

根据我12年的经验,您需要使用2个单独的嵌套查询(每个查询都应该有多个值),然后使用AND运算符来查找出现在这两个查询中的电影。

对于13个人,我发现使用几个嵌套查询很有帮助,从查找Kevin Bacon的id开始,直到选择人员。命名包含多个可能的people.id值的查询中的值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59706969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档