了解SQL在此语句中加入

时间:2014-07-23 19:57:39

标签: sql

我有以下表格

现在我有以下查询

select  *
from
      Actors
LEFT OUTER JOIN
      ActorRoles on   Actors.ActorID = ActorRoles .ActorID 
LEFT OUTER JOIN
      Movies on   ActorRoles.MovieID= Movies.MovieID

所以我得到以下列 - 括号表示列号

ActorID(1) Name(2) ActorID(3) MovieID(4) Role(5) MovieID(6) Title(7) Genre(8)

我对这些列如何显示感到困惑。已有一个ActorID列,那么为什么另一个ActorID列出现?我如何知道这个ActorID列属于哪个表?

2 个答案:

答案 0 :(得分:4)

由于您是“选择*”,因此每个表格中的每一列都会显示出来。由于ActorID在2个表中,因此它在列列表中显示两次。

答案 1 :(得分:2)

您确实选择了*,这表示联接中所有表格中的所有列都会显示出来。它并不关心它们具有相同的名称,您可以从Actors表以及ActorRoles表中获取ActorId列。