亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

簡單介紹join,outer-join,semi-join,anti-join

系統(tǒng) 1973 0

表連接的方式如join,semi-join,outer-join,anti-join;
表連接的實(shí)現(xiàn)方式如nested loop,merge,hash.
本文簡單的介紹表連接的方式j(luò)oin,semi-join,outer-join,anti-join和適用情景。

假設(shè)2個(gè)數(shù)據(jù)源(row source).
Emp(id pk,ename,deptno) Dept(deptno pk,dname)

如下是join
select ename,dname from emp,dept where emp.deptno=dname.deptno;
2個(gè)數(shù)據(jù)源鍵值一一比較,返回相互匹配的記錄集
for example: nested loop join
for x in ( select * from emp )
loop
for y in ( select * from dept)
loop
if ( x.deptno == y.deptno )
OutPut_Record(x.ename,y.dname)
End if
end loop
end loop

outer-join
select ename,dname from emp,dept where emp.deptno= dept.deptno(+);
select ename,dname from emp,dept where emp.deptno(+)=dept.deptno;
2個(gè)數(shù)據(jù)源鍵值一一比較,返回相互匹配的;但如果在另外一個(gè)row source沒有找到匹配的也返回記錄
for example: nested loop outer-join
for x in ( select * from emp )
loop
find_flag=false;
for y in ( select * from dept)
loop
if ( x.deptno == y.deptno )
OutPut_Record(x.ename,y.dname)
Find_flag=true
End if
end loop
if ( find_flag == false )
OutPut_Record(x.ename,null)
End if
end loop
semi-join
select dname from dept where exists( select null from emp where emp.deptno=dept.deptno)
多在子查詢exists中使用,對外部row source的每個(gè)鍵值,查找到內(nèi)部row source匹配的第一個(gè)鍵值后就返回,如果找到就不用再查找內(nèi)部row source其他的鍵值了。
for example: nested loop semi-join


for x in ( select * from dept )
loop
for y in ( select * from emp)
loop
if ( x.deptno == y.deptno )
OutPut_Record(x.dname)
Break;
End if
end loop
end loop

anti-join
select ename,deptno from emp,dept where emp.deptno!=dept.deptno
多用于!= not in 等查詢;如果找到滿足條件(!= not in)的不返回,不滿足條件(!= not in)的返回。和join相反。
 for example: nested loop anti-join
for x in ( select * from emp )
loop
for y in ( select * from dept)
loop
if ( x.deptno != y.deptno )
OutPut_Record(x.dname,y.deptno)
End if
end loop
end loop

簡單介紹join,outer-join,semi-join,anti-join的區(qū)別


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 国产精品久久久久鬼色 | 天天摸天天爽天天澡视频 | 欧美大成色www永久网站 | 成人精品一区久久久久 | 毛片一级在线观看 | 成年女人免费视频 | 99爱视频 | 欧美日韩精品一区二区三区 | 日产精品一二三四区国产 | 五月天婷亚洲 | 337p日本大胆欧美人术艺术6 | 在线日韩不卡 | 国产三级不卡 | 国产性色视频 | 亚洲成色综合一区二区三区四区 | 国产精品久久久久毛片 | 日韩欧美亚洲国产高清在线 | 欧美成人鲁丝片在线观看 | 国产综合色在线视频播放线视 | 成年黄页免费大全网站 | 日日夜夜人人 | 久精品在线观看 | 亚洲精品久久久久久久无 | 精品国产美女 | 国产中文一区 | 国产一级淫 | 久久中文字幕网 | 欧美精品国产一区二区三区 | 一级毛片一级毛片一级级毛片 | 国产欧美日韩精品一区二区三区 | 久久午夜综合久久 | 日韩高清在线播放不卡 | 国产一区91 | 动漫美女撒尿 | 久久国产乱子伦精品免费看 | 欧美性猛交xxxx免费看久久久 | 欧美亚洲精品小说一区二三区 | 日韩福利影院 | 久久99精品国产一区二区三区 | 日韩三级久久 | 欧美激情在线精品三区 |