最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么要加上or NULL

count(release_year = '2006' or NULL) 這部分 為什么要加上or NULL 直接count(release_year='2006')有什么問題嗎?不就是要找release_year = '2006'的數(shù)據(jù)嗎,為什么要計算NULL的數(shù)據(jù)

正在回答

5 回答

因為 當(dāng)?release_year不是 2006時 ,release_year='2006' 結(jié)果false 不是 NULL,

Count在 值是NULL是 不統(tǒng)計數(shù), 至于加上or NULL , 很像其他編程里的or運算符,第一個表達式是true就是不執(zhí)行or后面的表達式,第一個表達式是false 執(zhí)行or后面的表達式 。當(dāng)release_year不為2006時release_year = '2006' or NULL 的結(jié)果是NULL,Count才不會統(tǒng)計上這條記錄數(shù)

9 回復(fù) 有任何疑惑可以回復(fù)我~
#1

V仔獸HZW 提問者

非常感謝!
2015-03-06 回復(fù) 有任何疑惑可以回復(fù)我~
#2

梧桐初戀

release_year='2006' 結(jié)果false的時候,怎么會執(zhí)行后面的null
2016-03-18 回復(fù) 有任何疑惑可以回復(fù)我~
#3

慕粉164611153

‘當(dāng) release_year不是 2006時 ,release_year='2006' 結(jié)果false’這句話存在問題,結(jié)果不是false,而是0; mysql中 0 OR NULL 返回的是NULL; COUNT(0)=1 COUNT(NULL)=0
2018-12-04 回復(fù) 有任何疑惑可以回復(fù)我~

為什么要加or null?1.因為count(參數(shù)) 只要參數(shù)不為null,都會進行計數(shù),只寫year=2006(相當(dāng)于year==2006)是個true,計數(shù),如果不加or null,那么year==2007 或者year==2008是個false,也會進行計數(shù)。2.如果加了or null 的話 ,year==2006是個ture,true or null 是true 會計數(shù);year==2007是個false,false or null 等于null,則不會計數(shù)。可以參考這個文章https://wangyaoxu.github.io/2017/09/21/mysql-count/

0 回復(fù) 有任何疑惑可以回復(fù)我~

最佳答案明明是錯的。。。

0 回復(fù) 有任何疑惑可以回復(fù)我~

查了下資料,count('任意內(nèi)容')都會統(tǒng)計出所有記錄數(shù),因為count只有在遇見null時不計數(shù),即count(null)==0,因此前者單引號內(nèi)不管輸入什么值都會統(tǒng)計出所有記錄數(shù),所以這節(jié)課例子中count(release_year='2006')單引號里你填什么年份都是1000條記錄,因為他們都not null!

而為了讓查找2006年份或2007年份的電影這個條件生效,就必須加上or null,告訴count,release_year='2006'或release_year='2007'為計數(shù)條件且不統(tǒng)計記錄為null的值。

后面這一段是自己理解,不一定對,而且sakila數(shù)據(jù)庫里的film表的release_year字段允許為空,初始值為空,不知道和這個有沒有關(guān)系,感覺沒關(guān)系。

5 回復(fù) 有任何疑惑可以回復(fù)我~

為了讓releas_year不為2006時,結(jié)果為null

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

為什么要加上or NULL

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號