mysql查詢語句and,or
阿新 • • 發佈:2018-11-23
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條資訊,正確