用户登录

使用关联我们可以去做很复杂的查询,在这个视频我们来看一下把 电影,电影人,还有电影与电影人的关系这几个表关联在一起。

电影这个表里的放的是跟电影相关的内容,电影的名称,票房等等,电影人这个表里是所有的电影从业人员,里面有电影人的名称,出生日期,出生地这些字段。

电影与电影人的关系这个表里,放的是电影的 id 号,还有跟这部电影相关的电影人的 id 号 ,另外还有这个电影人在这部电影中的工作是什么 ,比如演员,导演,编剧等等 ...

我们要做的就是利用 电影与电影人关系这个表里的内容,把电影,还有电影人这两个表关联在一起。关联以后保留电影的名称,跟它相关的所有的电影人,还有这个电影人在这部电影中的工作。

SELECT film_name 电影名称,people_name,电影人的姓名,还有 job,电影人在某部电影中的工作 ... FROM 来自 film 逗号 people 逗号 film_people .... 这个逗号就相当于是 CROSS JOIN 或者 INNER JOIN 这种关联的方法 ... WHERE 去设置一下这几个表之间的共同点 ...

首先 ... film_people 这个表里的 film_id 要等于 film 电影这个表里的 film_id ... 然后用一个 AND 操作符连接一下 ... 表示并且 ... film_people,也就是电影与电影人的关系这个表里的 people_id 要跟 people 表里的 people_id 相匹配 ...

回车 ... 找到的结果就是 电影的名称 ... 对应的电影人的名称 ... 还有这个电影人在这部电影中的工作是什么 ...

SELECT film_name, people_name, job FROM film, people, film_people WHERE film_people.film_id = film.film_id AND film_people.people_id = people.people_id;

要找出某部电影的所有的工作人员 ... 只需要在这条语句的后面再加上一个条件 ... 用一个 AND 连接 ... 比如找到 xxx 这个电影的所有人工作人员 ... 这里再设置一下 film_name = x ...

SELECT film_name, people_name, job FROM film, people, film_people WHERE film_people.film_id = film.film_id AND film_people.people_id = people.people_id AND film_name = 'x';

现在显示出来的就是 xx 这部电影所有相关的工作人员。

我们也可以找出某个电影人参与过的所有的电影作品 .... AND people_name like "xx%" ... 这里我们可以使用一个 like 操作符 ... 找到包含字符的结构 ...

三个表的关联《 MySQL 基础 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点