mysql查詢語句and,or


where查詢里,常用到and,or
and

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
        WHERE condition1   AND  condition2.....

or

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
        [WHERE condition1  [OR] condition2.....

and 和 or
兩者一起用的時候,and的優先級大於or
eg:查詢2018年11月5日到2018年11月11月之間,國家為中國或者美國的信息
解決方法:將最小邏輯用括號括起來

//錯誤使用
SELECT * FROM table_name WHERE created_at > '2018-11-05 00:00:00' AND created_at < '2018-11-12 00:00:00'  AND country = '中國' OR country = '美國' //查詢出4000條信息,錯誤

//正確使用
SELECT * FROM table)_name WHERE (created_at > '2018-11-05 00:00:00' AND created_at < '2018-11-12 00:00:00')  AND (country = '中國' OR country = '美國') //查詢出1400條信息,正確


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM