欢迎来到天天文库
浏览记录
ID:49768654
大小:16.15 KB
页数:2页
时间:2020-03-04
《Oracle LEFT JOIN中ON条件与WHERE条件的区别.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Leftjoin限制条件放置位置不一样,造成的结果差异非常大废话不多说,先初始化createtablet1asselect*fromscott.emp;createtablet2asselect*fromscott.dept;deletet2wheredeptno=30;createtabletab1(idvarchar2(100),size1varchar2(100));createtabletab2(size1varchar2(100),namevarchar2(200));truncatetabletab1;truncatetablet
2、ab2;insertintotab1(ID,SIZE1)values('1','10');insertintotab1(ID,SIZE1)values('2','20');insertintotab1(ID,SIZE1)values('3','30');insertintotab2(SIZE1,NAME)values('10','AAA');insertintotab2(SIZE1,NAME)values('20','BBB');insertintotab2(SIZE1,NAME)values('20','CCC');select*fromt
3、ab1;select*fromtab2;--sql1简单的leftjoin因为tab2有2条size=20的,所以会关联出4条记录selecttab1.*,tab2.*fromtab1leftjointab2on(tab1.size1=tab2.size1);--sql2对左表的非连接字段限制条件放在on里面,结果tab1的记录并没有被限制掉,只是关联tab2的时候,条件起了作用,--顺序可以理解为先关联出了4条记录,后限制tab2只显示符合条件的记录selecttab1.*,tab2.*fromtab1leftjointab2on(tab1
4、.size1=tab2.size1andtab1.id=2);--sql3,4,5对右表非连接字段限制--当on中对左表的非连接字段限制时与对右表的非连接字段限制时是两种不同的情况,请注意--相当于右表根据非连接字段限制获取结果,然后左表再与它关联selecttab1.*,tab2.*fromtab1leftjointab2on(tab1.size1=tab2.size1andtab2.name='AAA');selecttab1.*,tab2.*fromtab1leftjointab2on(tab1.size1=tab2.size1andt
5、ab2.name='BBB');selecttab1.*,tab2.*fromtab1leftjointab2on(tab1.size1=tab2.size1andtab2.name='CCC');--updatetab2setname='DDD'wheresize1=20;selecttab1.*,tab2.*fromtab1leftjointab2on(tab1.size1=tab2.size1andtab2.name='DDD');selecttab1.*,tab2.*fromtab1leftjointab2on(tab1.size1=
6、tab2.size1andtab2.name='xxx');
此文档下载收益归作者所有