SQL如何编写多条件查询同时筛选status为1和2的记录
错误写法原因说明
- 单条SQL查询仅支持1个
WHERE子句,重复声明属于语法错误 AND是逻辑与运算符,要求所有条件同时成立,单条记录的status字段不可能同时等于1和2,因此筛选不到任何结果- 字段名两侧不要用单引号
'包裹,单引号仅用于标记字符串常量,会导致字段被识别为普通字符串,逻辑失效
正确写法
写法1:用OR逻辑运算符拼接条件
适合少量匹配值的场景:
SELECT * FROM `invoices2` WHERE `status` = 1 OR `status` = 2
写法2:用IN运算符批量匹配
写法更简洁,适合匹配3个及以上固定值的场景:
SELECT * FROM `invoices2` WHERE `status` IN (1, 2)
内容的提问来源于stack exchange,提问作者juliaroje86
相关产品推荐
相关产品推荐

