三张表,车,房,申请贷款表,申请贷款表是车房的主表,然而用户是申请贷款的主表,希望通过用户id拿到跟这个用户有关系的车房,sql怎么(申请贷款表与车房的关系都是一对多,用户与申请贷款表也属于一对多)
select * from 用户表 left join 贷款表 on 用户表.id = 贷款表.id
left join 车 on 贷款表.车id = 车.id
left join 房 on 贷款表.房id = 房.id
select t1.u.id,t1.c.car,t2.h.house
from (select u.id,c.car from user u,car c where u.id=c.id) t1,
(select u.id,h.house from user u,house h where u.id=h.id) t2
where t1.u.id=t2.u.id
可以用inner join连接两者,用其结果在用连接inner join连接第三张。也可以三张表全连接,http://www.2cto.com/database/201406/309531.html
如果你把两个表查询的结果也看成一个表的话,那么三表查询甚至n表查询其实和两表查询其实是一回事。