【转载】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
              1    2500     1
              2    4000     2

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

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

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


方法一(推荐):

 

[sql] view plain copy
 
  1. select a.man_id,man_name,d.sex_name,zw_name,c.money  
  2.  from man as a   
  3.       left join zw as b on a.zw_id=b.zw_id   
  4.       left join gz as c on a.man_id=c.man_id   
  5.       left join xb as d on c.sex_id=d.sex_id  


方法二:

 

 

[sql] view plain copy
 
  1. select Man_Id,Man_Name,sex_name,Zw_Name,Money from  
  2. (  
  3.        select  a.Man_Id,Man_Name,b.Zw_Id,Zw_Name,Money,Sex_Id  from  [Man] a   
  4.                left join  [Zw] b on a.Zw_Id=b.Zw_Id  
  5.                left join  [Gz] c on a.Man_Id=c.Man_Id  
  6. )t  
  7. left join xb m on m.Sex_Id=t.Sex_Id  

 

方法三:

 

 

[sql] view plain copy
 
    1. select man.man_id,man.man_name,xb.sex_name,zw_name,gz.money  
    2.  from man   
    3.       left join zw on man.zw_id=zw.zw_id   
    4.       left join gz on man.man_id=gz.man_id   
    5.       left join xb on gz.sex_id=xb.sex_id     
posted @ 2017-12-07 10:18  L伟铭  阅读(492)  评论(0编辑  收藏  举报