当然不一样。用join方式为: select * from a join b on a.id=b.id join c on b.id=c.id;
请问结果集的区别是, 还有如果这里用left join ,那么后面是不是直接中join就行了
select * from a left join b on a.id=b.id left join c on b.id=c.id; left join 就是以第一个表为基础显示数据,如果后面表中没有符合条件数据,就以null显示 而where则要求两个表中必须有符合条件的数据时才显示。
我也来发一句$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";
如果不使用join进行关联的话,将只显示有相互关联内容的数据,没有关联的数据将不被显示。比方说,表A有8条数据,表B有5条数据,最终显示结果将会是5条数据。如果使用join进行关联,以left或right进行限制,最终终的显示结果将会有所区别。比方说,表A有8条数据,表B有5条数据,用 left join 进行限制的话,显示的结果将会是8条数据,B表中没有被关联的数据将被用NULL进行填充。反之,用right join 进行限制,结果将只显示5条数据。
当然不一样。用join方式为: select * from a join b on a.id=b.id join c on b.id=c.id;
还有如果这里用left join ,那么后面是不是直接中join就行了
left join c on b.id=c.id;
left join 就是以第一个表为基础显示数据,如果后面表中没有符合条件数据,就以null显示
而where则要求两个表中必须有符合条件的数据时才显示。