Mysql帶And關(guān)鍵字的多條件查詢語句
MySQL帶AND關(guān)鍵字的多條件查詢,MySQL中,使用AND關(guān)鍵字,可以連接兩個(gè)或者多個(gè)查詢條件,只有滿足所有條件的記錄,才會(huì)被返回。
SELECT * | {字段名1,字段名2,……} FROM 表名 WHERE 條件表達(dá)式1 AND 條件表達(dá)式2 […… AND 條件表達(dá)式n];
查詢student表中,id字段值小于16,并且,gender字段值為nv的學(xué)生姓名
可以看出,查詢條件必須都滿足,才會(huì)返回
查詢student表中,id字段值在12、13、14、15之中,name字段值以字符串“ng”結(jié)束,并且,grade字段值小于80的記錄
可以看出,返回的記錄,同時(shí)滿足了AND關(guān)鍵字連接的三個(gè)條件表達(dá)式。
PS:下面看下mysql多關(guān)鍵字多字段模糊查詢
假設(shè)有這樣兩條數(shù)據(jù):
(表名為user)
1) username=admin,password=000000
2) username=admin,password=123456
我們要實(shí)現(xiàn)的效果是可以輸入多個(gè)關(guān)鍵字查詢,多個(gè)關(guān)鍵字間以逗號(hào)分隔。
使用上述表舉例:輸入單個(gè)關(guān)鍵字“admin”可查出這兩條數(shù)據(jù),輸入“admin,000000”只查出第一條數(shù)據(jù),可實(shí)現(xiàn)的sql語句是:
select * from user where concat(username, password) like '%admin%'; select * from user where concat(username, password) like '%admin%' and concat(username, password) like '%000000%';
concat的作用是連接字符串,但這樣有一個(gè)問題:如果你輸入單個(gè)關(guān)鍵字“admin000000”也會(huì)查到第一條數(shù)據(jù),這顯然不是我們想要的結(jié)果,解決方法是:由于使用逗號(hào)分隔多個(gè)關(guān)鍵字,說明逗號(hào)永遠(yuǎn)不會(huì)成為關(guān)鍵字的一部分,所以我們?cè)谶B接字符串時(shí)把每個(gè)字段以逗號(hào)分隔即可解決此問題,下面這個(gè)sql語句不會(huì)查詢到第一條數(shù)據(jù):
select * from user where concat(username, ',', password) like '%admin000000%';
如果分隔符是空格或其他符號(hào),修改 ',' 為 '分隔符' 即可。
總結(jié):
select * from 表名 where concat(字段1, '分隔符', 字段2, '分隔符', ...字段n) like '%關(guān)鍵字1%' and concat(字段1, '分隔符', 字段2, '分隔符', ...字段n) like '%關(guān)鍵字2%' ......;
以上所述是小編給大家介紹的Mysql帶And關(guān)鍵字的多條件查詢語句,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)本站網(wǎng)站的支持!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。