我正在使用MySQL workbench 6.0。
我有以下表格:
演员,电影演员
只有一个名为actor_id的公共列,并且具有相同的数据类型。
示例数据:
从演员中选择*;给出:
并从film_actor中选择*;给出:
但是当我运行自然连接查询时:
从actor natural join film_actor中选择actor_id,first_name,film_id;
返回零行。为什么呢?
答案 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