本篇內容主要講解“SQL中的on條件與where條件有什么區(qū)別”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“SQL中的on條件與where條件有什么區(qū)別”吧!
十載的綏化網站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。成都全網營銷推廣的優(yōu)勢是能夠根據用戶設備顯示端的尺寸不同,自動調整綏化建站的顯示方式,使網站能夠適用不同顯示終端,在瀏覽器中調整網站的寬度,無論在任何一種瀏覽器上瀏覽網站,都能展現優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯從事“綏化網站設計”,“綏化網站推廣”以來,每個客戶項目都認真落實執(zhí)行。
1、on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。
2、where條件是在臨時表生成好后,再對臨時表進行過濾的條件。這時已經沒有l(wèi)eftjoin的含義(必須返回左邊表的記錄)了,條件不為真的就全部過濾掉。
假設有兩張表:
表1:tab1
idsize
110
220
330
表2:tab2
sizename
10AAA
20BBB
20CCC
1、select*fromtab1leftjointab2ontab1.size=tab2.sizewheretab2.name='AAA'
2、select*fromtab1leftjointab2ontab1.size=tab2.sizeandtab2.name='AAA'
1、中間表
on條件:
tab1.size=tab2.size
tab1.idtab1.sizetab2.sizetab2.name
11010AAA
22020BBB
22020CCC
330(null)(null)
2、再對中間表過濾
where條件:
tab2.name='AAA'
tab1.idtab1.sizetab2.sizetab2.name
11010AAA
1、中間表
on條件:
tab1.size=tab2.sizeandtab2.name='AAA'
(條件不為真也會返回左表中的記錄)tab1.idtab1.sizetab2.sizetab2.name
11010AAA
220(null)(null)
330(null)(null)
其實以上結果的關鍵原因就是leftjoin,rightjoin,fulljoin的特殊性。
不管on上的條件是否為真都會返回left或right表中的記錄,full則具有l(wèi)eft和right的特性的并集。
而innerjion沒這個特殊性,則條件放在on中和where中,返回的結果集是相同的。
到此,相信大家對“SQL中的on條件與where條件有什么區(qū)別”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!
名稱欄目:SQL中的on條件與where條件有什么區(qū)別
分享鏈接:http://sd-ha.com/article38/jgsjpp.html
成都網站建設公司_創(chuàng)新互聯,為您提供App設計、網站改版、軟件開發(fā)、虛擬主機、標簽優(yōu)化、企業(yè)網站制作
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯