MYSQL OR与AND一起 的用法 在MySQL中 or 的用法
文章图片
-- 查询结果是id = 2且age = 20或者id=1
SELECT * from student WHERE id = 1 or id = 2 AND age = 20;
文章图片
-- 查询结果是 id=1或id=2 且age = 20
SELECT * from student WHERE (id = 1 or id = 2 ) AND age = 20;
文章图片
【MYSQL OR与AND一起 的用法】犯错记录:要求查出 INVOICE_TITLE like ‘12%’或者CLIENT_NAME LIKE ‘%12%’的数据,结果前台一直报请求超时,发现数据多了将近20倍,SQL如下
SELECT
*
FROM
ewin_should_receive sr,
ewin_client_snap cs
WHERE
sr.client_snap_id = cs.id
AND sr.b_enable = '1'
AND cs.INVOICE_TITLE LIKE '%12%'
OR cs.CLIENT_NAME LIKE '%12%'
//正确SQL
SELECT
*
FROM
ewin_should_receive sr,
ewin_client_snap cs
WHERE
sr.client_snap_id = cs.id
AND sr.b_enable = '1'
AND (
cs.INVOICE_TITLE LIKE '%12%'
OR cs.CLIENT_NAME LIKE '%12%'
)