深入Oracle的left join中on和where的區(qū)別詳解建站知識(shí)
導(dǎo)讀:1建站知識(shí)本篇文章是對(duì)Oracle的left join中on和where的區(qū)別進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下網(wǎng)站建設(shè)多少錢(qián)seo網(wǎng)站排名優(yōu)化軟件。
今天遇到一個(gè)求某月所有天數(shù)的統(tǒng)計(jì)結(jié)果,如果某日的結(jié)果是0也需要顯示出來(lái),即: 日期 交易次數(shù) 交易金額 2009-4-01 1 10 2009-4-02 2 20 2009-4-03 0 0 2009-4-04 5 50 ....
一開(kāi)始我用的左連接,用on做為兩表關(guān)聯(lián)條件,用where作為過(guò)濾條件,但是發(fā)現(xiàn)0的數(shù)據(jù)根本不顯示,后來(lái)把where關(guān)鍵字去掉,把過(guò)濾條件都放到on里,問(wèn)題解決,網(wǎng)上一搜,找到了答案: 數(shù)據(jù)庫(kù)在通過(guò)連接兩張或多張表來(lái)返回記錄時(shí),都會(huì)生成一張中間的臨時(shí)表,然后再將這張臨時(shí)表返回給用戶(hù)。 在使用left網(wǎng)站建設(shè)教程 jion時(shí),on和where條件的區(qū)別如下: 1、on條件是在生成臨時(shí)表時(shí)使用的條件,它不管on中的條件是否為真,都會(huì)返回左邊表中的記錄。 2、where條件是在臨時(shí)表生成好后,再對(duì)臨時(shí)表進(jìn)行過(guò)濾的條件。這時(shí)已經(jīng)沒(méi)有l(wèi)eft join的含義(必須返回左邊表的記錄)了,條件不為真的就全部過(guò)濾網(wǎng)站優(yōu)化seo培訓(xùn)掉。 假設(shè)有兩張表: 表1 tab1: id size 1 10 2 20 3 30 表2 tab2: size name 10 AAA 20 BBB 20 CCC
兩條SQL: 1、select * form tab1 left join tab2 on (tab1.size = tab2.size) where tab2.name='AAA' 2、select * form tab1 left join tab2 on (tab1.size = tab2.size and tab2.name='AAA') 第一條SQL的過(guò)程: 1、中間表 on條件: tab1.size = tab2.size tab1.id tab1.size tab2.size tab2.name 1 10 10 AAA 2 20 20 BBB 2 20 20 CCC 3 30 (null) (null) 2、再對(duì)中間表過(guò)濾 where 條件: tab2.name='AAA' tab1.id tab1.size tab2.size tab2.name 1 10 10 AAA
第二條SQL的過(guò)程: 1、中間表 on條件: tab1.size = tab2.size and tab2.name='AAA' (條件不為真也會(huì)返回左表中的記錄) tab1.id tab1.size tab2.size tab2.name 1 10 10 AAA 2 20 (null) (null) 3 30 (null) (null) 其實(shí)以上結(jié)果的關(guān)鍵原因就是left join,r網(wǎng)站建設(shè)公司ight join,full join的特殊性,不管on上的條件是否為真都會(huì)返回left或right表中的記錄,full則具有l(wèi)eft和right的特性的并集。 而inner jion沒(méi)這個(gè)特殊性,則條件放在on中和where中,返回的結(jié)果集是相同的。
相關(guān)網(wǎng)站建設(shè)多少錢(qián)seo網(wǎng)站排名優(yōu)化軟件。聲明: 本文由我的SEOUC技術(shù)文章主頁(yè)發(fā)布于:2023-05-22 ,文章深入Oracle的left join中on和where的區(qū)別詳解建站知識(shí)主要講述詳解,區(qū)別,深入Oracle的left join中on和wh網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請(qǐng)保留鏈接: http://www.bifwcx.com/article/web_5341.html
為你推薦與深入Oracle的left join中on和where的區(qū)別詳解建站知識(shí)相關(guān)的文章
-
通王TWCMS 2.0.3網(wǎng)站模板程序下載
(126)人喜歡 2024-01-15 -
Windows官方原版在哪里下載
(175)人喜歡 2024-01-15 -
WordPress網(wǎng)站模板發(fā)帖標(biāo)題顏色設(shè)置
(131)人喜歡 2024-01-07 -
修改discuz論壇帖子標(biāo)題80字符的長(zhǎng)度限制
(249)人喜歡 2024-01-07 -
wordpress程序調(diào)用不帶超鏈接的Tag標(biāo)簽
(234)人喜歡 2024-01-05 -
網(wǎng)站在不同時(shí)期需調(diào)整內(nèi)容更新的方向
(112)人喜歡 2023-08-12