資源描述:
《sql語句中join地用法和效率說明書》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、實用標準文檔數(shù)據(jù)庫join語句使用及效率說明在我們開發(fā)數(shù)據(jù)庫的時候,一定要時刻考慮效率的要求個人建議當多表關(guān)聯(lián)的時候,盡量少用innerjoin2010宋述臣文案大全實用標準文檔第1章目錄第1章Sql之leftjoin、rightjoin、innerjoin的區(qū)別3第2章INNERJOIN和leftJOIN82.1現(xiàn)在比較:leftjoin和innerjoin9第3章提升leftjoin效率11第4章SQLServer中Innerjoin和where的效率差異11文案大全實用標準文檔第1章Sql之leftjoin、rightjoin、in
2、nerjoin的區(qū)別leftjoin(左聯(lián)接)返回包括左表中的所有記錄和右表中聯(lián)結(jié)字段相等的記錄rightjoin(右聯(lián)接)返回包括右表中的所有記錄和左表中聯(lián)結(jié)字段相等的記錄innerjoin(等值連接)只返回兩個表中聯(lián)結(jié)字段相等的行舉例如下:--------------------------------------------表A記錄如下:aIDaNum1a200501112a200501123a200501134a200501145a20050115表B記錄如下:bIDbName12006032401文案大全實用標準文檔220060
3、32402320060324034200603240482006032408--------------------------------------------1.leftjoinsql語句如下:select*fromAleftjoinBonA.aID=B.bID結(jié)果如下:aIDaNumbIDbName1a20050111 120060324012a20050112 220060324023a20050113 32006032403文案大全實用標準文檔4a20050114 420060324045a200501
4、15 NULLNULL(所影響的行數(shù)為5行)結(jié)果說明:leftjoin是以A表的記錄為基礎(chǔ)的,A可以看成左表,B可以看成右表,leftjoin是以左表為準的.換句話說,左表(A)的記錄將會全部表示出來,而右表(B)只會顯示符合搜索條件的記錄(例子中為:A.aID=B.bID).B表記錄不足的地方均為NULL.--------------------------------------------2.rightjoinsql語句如下:select*fromArightjoinBonA.aID=B.bID結(jié)果如下:文案大全實用標準文檔a
5、IDaNumbIDbName1a20050111 120060324012a20050112 220060324023a20050113 320060324034a20050114 42006032404NULLNULL82006032408(所影響的行數(shù)為5行)結(jié)果說明:仔細觀察一下,就會發(fā)現(xiàn),和leftjoin的結(jié)果剛好相反,這次是以右表(B)為基礎(chǔ)的,A表不足的地方用NULL填充.--------------------------------------------3.innerjoinsql語句如下:se
6、lect*fromAinnerjoinB文案大全實用標準文檔onA.aID=B.bID結(jié)果如下:aIDaNumbIDbName1a20050111 120060324012a20050112 220060324023a20050113 320060324034a20050114 42006032404結(jié)果說明:很明顯,這里只顯示出了A.aID=B.bID的記錄.這說明innerjoin并不以誰為基礎(chǔ),它只顯示符合條件的記錄.--------------------------------------------注:
7、LEFTJOIN操作用于在任何的FROM子句中,組合來源表的記錄。使用LEFTJOIN運算來創(chuàng)建一個左邊外部聯(lián)接。左邊外部聯(lián)接將包含了從第一個(左邊)開始的兩個表中的全部記錄,即使在第二個(右邊)表中并沒有相符值的記錄。語法:FROMtable1LEFTJOINtable2ONtable1.field1compoprtable2.field2說明:table1,table2參數(shù)用于指定要將記錄組合的表的名稱。文案大全實用標準文檔field1,field2參數(shù)指定被聯(lián)接的字段的名稱。且這些字段必須有相同的數(shù)據(jù)類型及包含相同類型的數(shù)據(jù),但它們
8、不需要有相同的名稱。compopr參數(shù)指定關(guān)系比較運算符:"=","<",">","<=",">="或"<>"。如果在INNERJOIN操作中要聯(lián)接包含Memo數(shù)據(jù)類型或OLEObject數(shù)據(jù)