Sql Ansi将两个表连接到一个表

Sql Ansi将两个表连接到一个表,sql,join,Sql,Join,我正在尝试使用ansi连接将两个表连接到一个表。我可以在哪里做这个 在以下地点加入: select name.name, middle.name, last.name from name, middle, last where name.middleid = middle.id and name.lastid = last.id and name.name = 'BOB' 我能够找出如何将中间部分连接到名称表,但一旦我添加到最后一个表中,我

我正在尝试使用ansi连接将两个表连接到一个表。我可以在哪里做这个

在以下地点加入:

select
   name.name,
   middle.name,
   last.name
from
   name,
   middle,
   last
where
   name.middleid = middle.id
   and name.lastid = last.id
   and name.name = 'BOB'
我能够找出如何将中间部分连接到名称表,但一旦我添加到最后一个表中,我就失败了

ANSI JOIN: 
    select
       name.name,
       middle.name,
       last.name
    from
       name join middle on name.middleid = middle.id
       **-- How do i join the name table to the last table?**
    where
    name.name = 'BOB'
试一试


这是你的问题

select
   name.name,
   middle.name,
   last.name
from
   name join middle on name.middleid = middle.id
   join last on name.lastid = last.id 
where
name.name = 'BOB'

一旦您加入了两个表,就把它们看作是一个不需要在列名前面加上不同表(又称名称空间)的表

因此,您再次处于连接两个表的位置。

ANSI连接:

   select
       name.name,
       middle.name,
       last.name
    from
       name 
       join middle on name.middleid = middle.id
       join last on name.lastid = last.id      
    where
    name.name = 'BOB'

挑剔:第一条语句也使用“ansi连接”。只是一个旧版本(在SQL标准中引入
JOIN
操作符之前)
   select
       name.name,
       middle.name,
       last.name
    from
       name 
       join middle on name.middleid = middle.id
       join last on name.lastid = last.id      
    where
    name.name = 'BOB'