日期:2014-05-16  浏览次数:20486 次

INNER JOIN遇上null的问题
select 原料表.*,企业表.企业名称 as 供应商 from 原料表 INNER JOIN 企业表 on 原料表.企业id=企业表.id
发现上面的语句无法列出所有的原料表中的内容,检查后发现,只要是原料表.企业id是null或是0的记录都不显示。
请问要如何才能让所有的记录都显示出来?
也就是将企业id是null或企业id记录不存在的给出供应商为null的记录。
------解决方案--------------------
left join 试试
------解决方案--------------------
select 原料表.*,企业表.企业名称 as 供应商 from 原料表 LEFT JOIN 企业表 on 原料表.企业id=企业表.id
------解决方案--------------------
如果你要是把原料表 的记录全部查询出来, 就把  INNER JOIN  改成 left join ;
  如果你要是把企业表 的记录全部查询出来, 就把  INNER JOIN  改成 right join ;