当前位置: 代码迷 >> Sql Server >> 多表INNER JOIN 联查有关问题
  详细解决方案

多表INNER JOIN 联查有关问题

热度:21   发布时间:2016-04-24 18:22:42.0
多表INNER JOIN 联查问题
select 表1.a,表2.b from 表1 INNER JOIN  表2 on 表1.id=表2.aid
上面这个双表联查很好用。我想问一下,就是三张以上的表联查也用这个INNER JOIN要如保写?
我现在是这样写的:
select 表1.a,表2.b,(select c from 表3 where id=表1.bid)as c from 表1 INNER JOIN  表2 on 表1.id=表2.aid
也就是:,(select c from 表3 where id=表1.bid)as c 这一部分改成:表3.c之后,后面的inner join 要如何写?
------解决方案--------------------
不用写的这么麻烦:

select 表1.a,表2.b,(select c from 表3 where id=表1.bid)as c from 表1 INNER JOIN  表2 on 表1.id=表2.aid

修改成这样就行:
select 表1.a,表2.b,表3.c
from 表1 
INNER JOIN  表2
        on 表1.id=表2.aid
INNER JOIN  表3
        on 表3.id=表2.bid
   

------解决方案--------------------
select 表1.a,表2.b,表3.c from 表1 INNER JOIN  表2 on 表1.id=表2.aid inner join 表3 on 
表3.id=表1.bid


------解决方案--------------------
select 表1.a,表2.b from 表1 INNER JOIN  表2 on 表1.id=表2.aid
inner join 表3 on 表1.id或者表2.id=表3.id

有时候也可以用括号,指定关联的顺序
  相关解决方案