用實例理解自鏈接

兩種狀況:.net

一、根據條件自鏈接設計

二、無條件自鏈接 就是交叉鏈接,返回被鏈接的兩個表全部數據行的笛卡爾積。3d

主要是第一種:blog

設計一張表:t_a博客

根據a的值自鏈接  語句:SELECT * FROM "t_a" ta,t_a tb where ta.a=tb.aim

本來我因爲沒有考慮到有些a列裏能夠有重複值,所以覺得數據行數和t_a表的行數相同。如如下這種狀況:d3

①a列裏沒有重複值:數據

結果:db

②a列裏有重複值img

結果:共41條記錄,太長,不全貼出來了。

 

6*6+2*2+1*1=41

 

同理能夠推出按照多個條件自鏈接的結果

如SELECT * FROM "t_a" ta,t_a tb where ta.a=tb.a and ta.b=tb.b的狀況。這裏狀況應是9條,由於沒有ab都是相同值的狀況

如果存在ab相同時好比表中數據以下

 

,會出現3*3+2*2+4=17條結果

同時自鏈接的做用能夠參考別人的博客:https://blog.csdn.net/weiwanampdaixu/article/details/78292053

相關文章
相關標籤/搜索