当前位置:首页 > Mysql教程 > 列表

mysql中left join多表联查询语句

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-09 10:58:58 浏览: 评论:0 

left join是mysql中一个常用的数据库联合多表查询的命令,下面我来详细的介绍left join用法有需要的朋友可参考.

最初我们最多的如果没用left join,代码如下:

  1. select c.nom, e.nom    
  2. from consultant c, affaire a, besoin b, salarie sa, site s, entreprise e   
  3. where c.consultant_id=a.consultant_id and a.besoin_id=b.besoin_id and    
  4. b.salarie_id=sa.salarie_id and ssa.site_id=s.site_id and s.entreprise_id=e.entreprise_id  

上面的写法不好同时也不如left join效果好.

left join,代码如下:

  1. SELECT 
  2. A.ID, A.NUMBER, A.PRICE, A.ORDER_TIME, B.USER_ID, B.STARTIME, B.STOPTIME, 
  3. C.CHANNEL_PAY, D.COMPANY 
  4. FROM  --phpfensi.com 
  5. D表 D 
  6. LEFT JOIN 
  7. A表 A ON A.COMPANY_ID = D.UID 
  8. LEFT JOIN 
  9. B表 B ON B.COMPANY_ID = D.UID 
  10. LEFT JOIN 
  11. C表 C ON C.COMPANY_ID = D.UID 
  12. 有条件的再加行: 
  13. WHERE ………. 
  14. 排序(如A表的ID由大到小排): 
  15. ORDER BY A.ID DESC 

多表联查的还可用inner join方法,代码如下:

  1. select c.nom, e.nom  from consultant c  inner join affaire a on c.consultant_id=a.consultant_id  inner 
  2.  
  3. join besoin b on a.besoin_id=b.besoin_id  inner join salarie sa on b.salarie_id=sa.salarie_id  inner 
  4.  
  5. join site s on ssa.site_id=s.site_id  inner join entreprise e on s.entreprise_id=e.entreprise_id  

注意,多表联合查询有好多总方式right join、inner join、full join这里不一一介绍了.

Tags: left多表查询 join多表联查询

分享到: