如何在1个单独,高效的mysql查询中执行此任务?

1 mysql query-optimization

我有一个存储在1个表格中的电视节目列表.另一张桌子展示了流派(动作,浪漫,喜剧).

大多数节目通常都有超过1种类型,所以只有一个tv_genre列并将类型ID放在那里就不是一个选择.

我可以创建一个查找表来存储电视节目id +流派id,我可以为每个与节目相关的流派插入1行.

当我想要输出索引上的节目列表以及与电视节目相关的流派名称时,事情变得模糊.如何将3个表组合成1个有效的查询(而不是为索引上的每个项运行单独的查询,获取其类型).

就本文而言,表格如下

TV Show Table
- tv_id
- tv_name

Genre Table
- genre_id
- genre_name
Run Code Online (Sandbox Code Playgroud)

谢谢!

Jim*_*mmy 6

http://dev.mysql.com/doc/refman/5.0/en/join.html

JOIN是SQL的核心.你会结束这样的事情

select tv_name, genre_name
from tvshows
   left join shows_genres on tvshows.tv_id = shows_genres.tv_id
   left join genres on genres.genre_id = shows_genres.genre_id
Run Code Online (Sandbox Code Playgroud)