如何查询而不定义表的初始名称?

时间:2009-05-27 18:15:01

标签: mysql

我有以下表格。

genre:
  genre_id
  name

actors:
  actor_id
  name

movies:
  movie_id
  actor_id
  genre_id
  title

我有以下查询来选择所有具有genre_id 3的演员。

select a.name, m.genre_id from 
actors as a
, movies as m
where
m.genre_id = 3;

是否可以在没有“movie为m”的情况下进行查询,因为我不需要m.genre_id。我只想显示演员姓名。

2 个答案:

答案 0 :(得分:4)

如果genre_id是您拥有的唯一信息,则必须加入电影....

select a.name
from actors as a
inner join movies as m on a.actor_id = m.actor_id
where m.genre_id = 3;

答案 1 :(得分:2)

CSharpAtl拥有它,但作为替代方案:

  select a.name
    from actors a
    where actor_id in (select m.actor_id 
                         from movies m 
                        where a.actor_id = m.actor_id
                          and genre_id = 3)