MySQL帶AND關(guān)鍵字的多條件查詢,MySQL中,使用AND關(guān)鍵字,可以連接兩個或者多個查詢條件,只有滿足所有條件的記錄,才會被返回。
SELECT * | {字段名1,字段名2,……}
FROM 表名
WHERE 條件表達式1 AND 條件表達式2 […… AND 條件表達式n];
查詢student表中,id字段值小于16,并且,gender字段值為nv的學生姓名
可以看出,查詢條件必須都滿足,才會返回
查詢student表中,id字段值在12、13、14、15之中,name字段值以字符串“ng”結(jié)束,并且,grade字段值小于80的記錄
可以看出,返回的記錄,同時滿足了AND關(guān)鍵字連接的三個條件表達式。
PS:下面看下mysql多關(guān)鍵字多字段模糊查詢
假設(shè)有這樣兩條數(shù)據(jù):
(表名為user)
1) username=admin,password=000000
2) username=admin,password=123456
我們要實現(xiàn)的效果是可以輸入多個關(guān)鍵字查詢,多個關(guān)鍵字間以逗號分隔。
使用上述表舉例:輸入單個關(guān)鍵字“admin”可查出這兩條數(shù)據(jù),輸入“admin,000000”只查出第一條數(shù)據(jù),可實現(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的作用是連接字符串,但這樣有一個問題:如果你輸入單個關(guān)鍵字“admin000000”也會查到第一條數(shù)據(jù),這顯然不是我們想要的結(jié)果,解決方法是:由于使用逗號分隔多個關(guān)鍵字,說明逗號永遠不會成為關(guān)鍵字的一部分,所以我們在連接字符串時把每個字段以逗號分隔即可解決此問題,下面這個sql語句不會查詢到第一條數(shù)據(jù):
select * from user where concat(username, ',', password) like '%admin000000%';
如果分隔符是空格或其他符號,修改 ',' 為 '分隔符' 即可。
總結(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)鍵字的多條件查詢語句,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
您可能感興趣的文章:- mysql條件查詢and or使用方法及優(yōu)先級實例分析
- MySql帶OR關(guān)鍵字的多條件查詢語句
- MySQL中使用case when 語句實現(xiàn)多條件查詢的方法
- MySQL數(shù)據(jù)庫必備之條件查詢語句