首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于查找演员姓名以B开头的电影标题的MySQL查询

问用于查找演员姓名以B开头的电影标题的MySQL查询
EN

Stack Overflow用户
提问于 2019-02-18 20:31:15
回答 3查看 917关注 0票数 2

我正在尝试编写一个MySQL查询,它将查找名字以B开头的演员所领导的电影的标题。我有两个表,一个演员表和一个电影表。在我的Actor表中,我有actID和actName,在Movie表中,我有mvID,actID (FK),mvTitle,mvGenre,mvPrice,mvYear。我已经为一个类似的问题编写了一个查询,并尝试为这个查询修改它,但它并不完全有效。到目前为止,我所拥有的是:

代码语言:javascript
复制
SELECT mvTitle
FROM Movie
WHERE EXISTS (SELECT mvGenre
              FROM Movie,
                   Actor
              WHERE (Actor.actID = Movie.actID)
                and (Actor.actName LIKE 'B%'))

它返回所有的电影标题,而不是返回特定的标题(因为它应该只返回3个标题),但返回所有的10个标题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2019-02-18 20:40:55

代码语言:javascript
复制
SELECT mvTitle
FROM Movie where actID in (select actID from Actor where actName LIKE 'B%')
票数 1
EN

Stack Overflow用户

发布于 2019-02-18 20:34:34

代码语言:javascript
复制
SELECT DISTINCT m.mvTitle from Movie m JOIN Actor a on a.actId = m.actId WHERE a.actName LIKE 'B%'

试试这个..。我选择使用join而不是seems -它对我来说似乎更简洁。

票数 2
EN

Stack Overflow用户

发布于 2019-02-18 20:34:55

使用相关子查询

代码语言:javascript
复制
SELECT mvTitle
FROM Movie a
WHERE EXISTS (SELECT 1
              FROM Actor b
              WHERE a.actID = b.actID
                and b.actName LIKE 'B%')
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54747365

复制
相关文章

相似问题

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