Sql语句用left join 解决多表关联问题(关联套关联,例子和源码)

帖子是原创是,但是在csdn中高手帮我给解决了,其实就是别名,给自己上了一堂别名的课,所谓别人是高手,其实就是自己是菜鸟吧!


表1:------------------------------【人事表】
表名:【Man】
字段:Man_Id,Man_Name,Zw_Id
1貂蝉2
2曹操1

表2:------------------------------【职务表】
表名:【Zw】
字段:Zw_Id,Zw_Name
1校长
2班主任

表3:------------------------------【工资表】
表名:【GZ】
字段:Man_Id,Money,Sex_Id
125001
240002

表3:------------------------------【性别表】
表名:【xb】
字段:Sex_Id,Sex_Name
1女
2男

需要的-------------------------------【查询结果】:

Man_Id,Man_Name,sex_name,Zw_Name,Money
1貂蝉女班主任2500
2曹操男校长4000


方法一(推荐):

select a.man_id,man_name,d.sex_name,zw_name,c.money
 from man as a 
      left join zw as b on a.zw_id=b.zw_id 
      left join gz as c on a.man_id=c.man_id 
      left join xb as d on c.sex_id=d.sex_id

方法二:

select Man_Id,Man_Name,sex_name,Zw_Name,Money from
(
       select  a.Man_Id,Man_Name,b.Zw_Id,Zw_Name,Money,Sex_Id  from  [Man] a 
               left join  [Zw] b on a.Zw_Id=b.Zw_Id
               left join  [Gz] c on a.Man_Id=c.Man_Id
)t
left join xb m on m.Sex_Id=t.Sex_Id

方法三:


select man.man_id,man.man_name,xb.sex_name,zw_name,gz.money
 from man 
      left join zw on man.zw_id=zw.zw_id 
      left join gz on man.man_id=gz.man_id 
      left join xb on gz.sex_id=xb.sex_id   


你可能感兴趣的:(Sql语句用left join 解决多表关联问题(关联套关联,例子和源码))