LeftJOIN,RightJOIN和FULLJOIN的用法 left join right join

以前一般使用inner join,即多表内联查询,且将基础资料一般加载至内存中,在使用时如报表显示,一般业务单据中记录的是基础资料表中的ID,如产品ID,所以较少使用left join、right join 和Fulljoin,其时,如为简化开发,在数据库性能足够强劲或是相关表记录较少且未 加载至内存中时,也可以使用,且从开发角度较简单。
1,简介, Left Join = LEFT OUTER JOIN,right join = RIGHT OUT JOIN , full join = FULLOUTER JOIN简单地来说,这组SQL适用于A,B关联查询时,相匹配的关联字段在两表中不能完全匹配时,可以避免少统计主表记录。2,示例,建一个物料基表 p, 建一个物料使用的表 s ,在s中一般只记录物料的pid,为在报表显示物料名称,需双表联查,但因物料表中可能某些记录被删除,但该物料有使用记录,则在使用双表联查时,p中不存在物料无法显示,如不考虑使用Vector查询的方式(即将所有物料pid和名称pname均加载至内存,报表显示逐行index查询),此种情况下使用leftjoin也可以很简单处理这种情况:create table p ( sysid serial, pidvarchar(20)primarykey, pnamevarchar(50))
insert into p (pid, pname) values('P001', '不锈钢F201'),('P002', '不锈钢F202'),('P004', '不锈钢F202') ;
create table s (sysid serial,thedate varchar(10),pid varchar(20),thequantity integer)
insert into s (thedate,pid,thequantity)values('2012/08/01', 'P001', 100),('2012/08/02', 'P002', 200),('2012/08/03', 'P003', 300) ;
准备工作完成,使用left join, right join , full join 查询select s.thedate,s.pid,p.pname,s.thequantity from sLEFT JOIN p on s.pid = p.pid;结果:2012/08/01 P001 不锈钢SF201 202012/08/03 P003 null 402012/08/04 P004 不锈钢SF204 50
select s.thedate,s.pid,p.pname,s.thequantity from sRIGHT JOIN p on s.pid = p.pid;结果:2012/08/01 P001 不锈钢SF201 202012/08/04 P004 不锈钢SF204 50null null 不锈钢SF202null
select s.thedate,s.pid,p.pname,s.thequantity from sFULL JOIN p on s.pid = p.pid;结果:2012/08/01 P001 不锈钢SF201 202012/08/03 P003 null 402012/08/04 P004 不锈钢SF204 50null null 不锈钢SF202null





LeftJOIN,RightJOIN和FULLJOIN的用法 left join right join


  

爱华网本文地址 » http://www.aihuau.com/a/25101016/306385.html

更多阅读

EXCEL表中LEFT和RIGHT函数的用法 left和right函数

在用EXCEL表中的时候,懂得一些常用的函数,会给你的工作带来很大便利。就像上次偶然的机会,听同事说道LEFT和RIGHT函数的用法,还挺有用的。像导出的财务数据,日期的格式都是2010-01-01,但是如果你只需要年月,不需要日期,你可以插入另外一列,适用

cisco ios 升级方法和TFTP的用法 cisco ap ios升级

cisco ios 升级方法和TFTP的用法升级方法:现总结归纳出CISCO路由器IOS映像升级的几种方法,供广大网络爱好者或同仁参考。在介绍CISCO路由器IOS升级方法前,有必要对Cisco路由器的存

廉颇蔺相如列传中而和以的用法1 廉颇蔺相如列传原文

“而”作为连词的用法和例句:⒈表示并列关系,所连两项在意思上不分主次、轻重,而是并列、并重的关系,可译为“和”、“及”、“又”、“并且”或不译。例如:《两小儿辩日》:“此不为远者小而近者大乎”[译]:“这不是远的小近的大吗?”⒉表

fairly和rather的用法比较 would rather的用法

fairly和rather的用法是高中阶段比较难掌握的用法,原因在于rather和fairly的区别很多,很细,但是在我们的日常交际中却不常见,09年的高考题也只涉及到2个单项【2009年天津卷】Itwas a nice house,

声明:《LeftJOIN,RightJOIN和FULLJOIN的用法 left join right join》为网友烈酒孤独分享!如侵犯到您的合法权益请联系我们删除