即使列名相同且具有单个匹配列

时间:2016-06-12 08:40:00

标签: mysql

我正在使用MySQL workbench 6.0。

我有以下表格:

演员,电影演员

只有一个名为actor_id的公共列,并且具有相同的数据类型。

示例数据:

从演员中选择*;给出:

enter image description here

并从film_actor中选择*;给出:

enter image description here

但是当我运行自然连接查询时:

从actor natural join film_actor中选择actor_id,first_name,film_id;

返回零行。为什么呢?

2 个答案:

答案 0 :(得分:1)

natural join将使用两个表中存在的所有列进行连接。

在您的情况下,包括last_update,这可能不是您想要的。

出于这样的原因,通常不要使用natural join

答案 1 :(得分:0)

所以你想要一个查询,显示同一行中演员姓名的电影名称。在这种情况下我会使用内连接:

SELECT a.actor_id, a.first_name, f.film_id FROM actor a INNER JOIN film_actor f on a.actor_ID=f.actor_id