《Mysql應(yīng)用msql select語(yǔ)句的WHERE子句詳解》要點(diǎn):
本文介紹了Mysql應(yīng)用msql select語(yǔ)句的WHERE子句詳解,希望對(duì)您有用。如果有疑問(wèn),可以聯(lián)系我們。
1,WHERE子句
?
??? 在SELECT語(yǔ)句中,語(yǔ)句首先從FROM子句開(kāi)始執(zhí)行,執(zhí)行后會(huì)生成一個(gè)中間成果集,然后就開(kāi)始執(zhí)行WHERE子句.
???
??? WHERE子句是對(duì)FROM子句生成的成果集進(jìn)行過(guò)濾,對(duì)中間成果集的每一行記錄,WHERE子句會(huì)返回一個(gè)布爾值,(TRUE/FALSE),如果TURE,這行記錄繼續(xù)留在成果集中,如果FALSE,則這行記錄從成果集中移除.
例如:
?MYSQL必讀
FROM子句返回的中間成果集:
?MYSQL必讀
總共4行記錄,對(duì)每一行記錄執(zhí)行WHERE子句.第一行中studentNO是1,所以studentNO=2表達(dá)式返回值為FALSE,這行記錄移除.第二行中studentNO是2,所以studentNO=2返回TRUE,這行記錄繼續(xù)保存;同理第三行和第四行記錄也移除,執(zhí)行完WHERE語(yǔ)句后的中間結(jié)果集為:
?MYSQL必讀
然后執(zhí)行SELECT語(yǔ)句,最終的成果集為:
?MYSQL必讀
2,比擬運(yùn)算符
WHERE子句返回布爾值,所以WHERE子句經(jīng)常會(huì)用到比擬運(yùn)算符.MYSQL必讀
比擬運(yùn)算符有:
?MYSQL必讀
2=2的結(jié)果為true,15<9的結(jié)果為false,3>2的結(jié)果為true,5!=4的結(jié)果為true.
字符串也可以進(jìn)行比擬,'b'<'g'的結(jié)果為true,'h'>'k'的結(jié)果為false.
時(shí)間值可以比擬,較早的時(shí)間小于較晚的時(shí)間.'1980-5-4'<'1990-02-15'的結(jié)果為true,'1991-2-18'>'1991-2-19'的結(jié)果為false.
=比擬符與<=>比擬符的差別在于,當(dāng)比擬兩個(gè)空值的時(shí)候,=返回unknown,<=>返回為true.
?
3,子查詢中的比擬運(yùn)算符
例句:
?MYSQL必讀
一個(gè)子查詢可以用于WHERE子句中.上例中是一個(gè)標(biāo)量子查詢,子查詢只能返回一個(gè)標(biāo)量值.MYSQL必讀
同樣一個(gè)行子查詢也可以用于WHERE子句中:
?MYSQL必讀
4,不帶比擬運(yùn)算符的WHERE子句
WHERE子句并不一定帶比擬運(yùn)算符,當(dāng)不帶運(yùn)算符時(shí),會(huì)執(zhí)行一個(gè)隱式轉(zhuǎn)換.當(dāng)0時(shí)轉(zhuǎn)化為false,當(dāng)其他值是轉(zhuǎn)化為true.MYSQL必讀
例句:
?MYSQL必讀
則會(huì)返回一個(gè)空集,因?yàn)槊恳恍杏涊dWHERE都返回false.MYSQL必讀
例句:
?MYSQL必讀
都將返回student表所有行記載的studentNO列.因?yàn)槊恳恍杏涊dWHERE都返回true.MYSQL必讀
《Mysql應(yīng)用msql select語(yǔ)句的WHERE子句詳解》是否對(duì)您有啟發(fā),歡迎查看更多與《Mysql應(yīng)用msql select語(yǔ)句的WHERE子句詳解》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請(qǐng)注明本頁(yè)網(wǎng)址:
http://www.snjht.com/jiaocheng/12761.html