好问题啊 顶啊,那个left join 我一直没理解透彻呢,持续关注中...

解决方案 »

  1.   


    当然不一样。用join方式为: select * from a join b on a.id=b.id join c on b.id=c.id; 
      

  2.   

    请问结果集的区别是,
    还有如果这里用left join ,那么后面是不是直接中join就行了
      

  3.   

    select * from a left join b on a.id=b.id 
                    left join c on b.id=c.id; 
    left join 就是以第一个表为基础显示数据,如果后面表中没有符合条件数据,就以null显示
    而where则要求两个表中必须有符合条件的数据时才显示。
      

  4.   

    我也来发一句$sql="select a.*,b.partnum,b.OtherProperty,b.BigClass,b.SecClass,b.smallpic,c.PKID from productstock a inner join creativeproduct b inner join rd c  on(a.partnum=b.partnum and a.rdid=c.PKID) where c.RDName like '%".$keywords."%' order by a.stockid desc";
      

  5.   

    如果不使用join进行关联的话,将只显示有相互关联内容的数据,没有关联的数据将不被显示。比方说,表A有8条数据,表B有5条数据,最终显示结果将会是5条数据。如果使用join进行关联,以left或right进行限制,最终终的显示结果将会有所区别。比方说,表A有8条数据,表B有5条数据,用 left join 进行限制的话,显示的结果将会是8条数据,B表中没有被关联的数据将被用NULL进行填充。反之,用right join 进行限制,结果将只显示5条数据。