inner join 内联与left join 左联的实例代码
程序员文章站
2022-09-08 13:04:13
今天老板把我叫过去,给我分析了一下我写的存储过程【捂脸羞愧中。。。】,因为又临时加了个需求需要关联另外一个视图,我写成了内联,所以读取出来的数据少了好多。
sel...
今天老板把我叫过去,给我分析了一下我写的存储过程【捂脸羞愧中。。。】,因为又临时加了个需求需要关联另外一个视图,我写成了内联,所以读取出来的数据少了好多。
select t1.motcarriername ,t2.routename ,y.buslicense ,y.acctprice ,y.price ,y.canacctprice ,y.centeracctprice ,y.otheracctprice ,y.staacctprice ,y.tkamount ,y.schbillid ,m.manualticketsstationfee ,m.manualticketsfee from (select b.motcarrierid ,b.routeid ,b.buslicense ,a.schbillid ,a.acctprice ,a.canacctprice ,a.centeracctprice ,a.otheracctprice ,a.price ,a.staacctprice ,a.tkamount from history.tkschbillhistory a ,history.tkserialschhistory b ,history.tkcarrystaschhistory c where a.drvdate between @pstartdate and @penddate and a.schbillstatusid=1 and b.schid=a.schid and b.drvdate=a.drvdate and a.schid=c.schid and a.drvdate=c.drvdate )y ,baseinfo.motorcarrier t1 ,baseinfo.route t2 ,settlement.dbo.view_manualticket m where t1.motcarrierid=y.motcarrierid and t2.routeid =y.routeid and m.buslicense=y.buslicense order by t1.motcarriername,t2.routename,y.buslicense
这种关联叫做内联,表a,表b where a.id=b.id,只有表a,表b里都有这个id,这条数据才会被显示出来。但是我的项目中需要的是以表a为主表,只要表a中有的数据都要显示出来,表b中有与表a相关的数据就显示,没有则置为空。
即a left join b on a.id=b.id
总结
以上所述是小编给大家介绍的inner join 内联与left join 左联的实例代码,希望对大家有所帮助
推荐阅读
-
inner join 内联与left join 左联的实例代码
-
解析sql语句中left_join、inner_join中的on与where的区别_MySQL
-
解析sql语句中left_join、inner_join中的on与where的区别_MySQL
-
inner join 内联与left join 左联的实例代码
-
解析sql语句中left_join、inner_join中的on与where的区别
-
解析sql语句中left_join、inner_join中的on与where的区别
-
MySQL表LEFT JOIN左连接与RIGHT JOIN右连接的实例教程_MySQL
-
MySQL表LEFT JOIN左连接与RIGHT JOIN右连接的实例教程_MySQL