使用外键在多个表之间进行特定查询

时间:2015-04-06 09:34:50

标签: mysql

我正在为学校开展数据库项目,而且我在课堂上的SQL查询方面相对较新,所以我一直在寻找特定查询的帮助。

这是我的架构:

movies
----------------------------
id:integer (primary key)
title: varchar(100) 
--------------------------

stars
--------------------------
id:integer (primary key)
--------------------------

stars_in_movies
---------------------------------------
star_id:integer, referencing stars.id
movie_id:integer, referencing movies.id
-----------------------------------------

所以,提供一个明星的ID,获得一个明星所有电影的标题是什么?

我知道这对于查询来说是一个非常具体的问题,但我想知道是否有人可以提供一个特定的查询和解释为什么查询会做它的作用,因为我对“为什么更感兴趣”查询工作“答案的方面。

再次感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

您需要将表格加入

select
m.id,
m.title
from movies m
join stars_in_movies sm on sm.movie_id = m.id
join stars s on s.id = sm.star_id
where s.id = {your star id to be searched}

答案 1 :(得分:0)

select m.title from
stars_in_movies sim join movies m
on m.id=sim.movie_id
where sim.star_id = 1

连接此表,为您提供明星游戏的电影标题。检查链接:SQL Fiddle