1、表做關(guān)聯(lián)的時候有些條件寫在where中,有些寫在on之后關(guān)聯(lián)條件的and中。那么有什么區(qū)別呢。
2、我們指導(dǎo),表關(guān)聯(lián)一般分為兩種:內(nèi)聯(lián)和外聯(lián)。
3、我們先來看內(nèi)聯(lián)。
4、準(zhǔn)備兩個表做連接。表A:test_tb_stid;表B:test_tb_stscore;
5、表A數(shù)據(jù)如下圖:
6、表B數(shù)據(jù)如下圖:
7、用紅色字段stid作為關(guān)聯(lián)條件
8、內(nèi)聯(lián),先把過濾條件放在and后:
select a.*,b.* from test_tb_stid a inner join test_tb_stscore b on a.stid = b.stid and a.stid = 2
9、結(jié)果,發(fā)現(xiàn)只出現(xiàn)一條:
10、把過濾條件放到where
11、發(fā)現(xiàn)內(nèi)聯(lián)的時候,這個過濾條件放on之后的and和where沒有區(qū)別。
12、我們再看一下外聯(lián)。
發(fā)現(xiàn)雖然加了過濾條件,但是a表還是全量的。如果不加這個a.stid=1,應(yīng)該會匹配出兩條出來,如下圖:
說明外聯(lián)的話:1、主表總是全量的。2、on之后的and條件只對結(jié)果內(nèi)容產(chǎn)生影響,不對結(jié)果量產(chǎn)生影響。
13、過濾條件加到where上
直接就是對結(jié)果集產(chǎn)生影響了。
本文標(biāo)題:Oracle里面的外連中where和on之后and有啥區(qū)別-創(chuàng)新互聯(lián)
本文來源:http://aaarwkj.com/article14/dsjide.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、品牌網(wǎng)站建設(shè)、標(biāo)簽優(yōu)化、域名注冊、網(wǎng)站建設(shè)、品牌網(wǎng)站制作
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)