我正在使用MySQL工作臺6.0。即使列名相同且具有單個匹配列,自然連接查詢也會返回零結果
我有如下表:
演員,film_Actors
都只能有一個名稱爲actor_id公共列,並具有相同的數據類型。
樣本數據:
select * from actor;得出:
,然後從FILM_ACTOR *;得出:
但是,當我跑了自然連接查詢:
選擇actor_id,FIRST_NAME,film_id從演員自然連接FILM_ACTOR;
返回零行。爲什麼?
我正在使用MySQL工作臺6.0。即使列名相同且具有單個匹配列,自然連接查詢也會返回零結果
我有如下表:
演員,film_Actors
都只能有一個名稱爲actor_id公共列,並具有相同的數據類型。
樣本數據:
select * from actor;得出:
,然後從FILM_ACTOR *;得出:
但是,當我跑了自然連接查詢:
選擇actor_id,FIRST_NAME,film_id從演員自然連接FILM_ACTOR;
返回零行。爲什麼?
A natural join
將使用兩個表中存在的所有列進行聯接。
在你的情況下,這包括last_update
,這可能不是你想要的。
因爲這樣的原因,不要使用natural join
通常是個好主意。
所以你想要一個查詢顯示在同一行中演員姓名的電影名稱。我會在這種情況下使用內連接:
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