我尝试选择一个名为PRODUCT
的表,并且只显示V_CODE = 22000
或55000
的行。问题是我无法使用OR
语句作为我的最终答案。有没有其他方法可以删除OR
并获得相同的结果?见下文:
SELECT * FROM PRODUCT_revised WHERE V_CODE = 22000 OR V_CODE = 55000;
答案 0 :(得分:5)
您可以使用IN
:
SELECT * FROM PRODUCT_revised WHERE V_CODE IN(22000, 55000);
答案 1 :(得分:2)
首选解决方案是使用in
:
SELECT *
FROM PRODUCT_revised
WHERE V_CODE IN (22000, 55000);
但是,您的代码应该有效。
答案 2 :(得分:2)
IN
以外的另一种方式是使用UNION
:
SELECT * FROM PRODUCT_revised WHERE V_CODE = 22000
UNION ALL
SELECT * FROM PRODUCT_revised WHERE V_CODE = 55000;
或想要使用De Morgan法律:
SELECT * FROM PRODUCT_revised
WHERE NOT (NOT (V_CODE = 22000) AND NOT (V_CODE = 55000));
答案 3 :(得分:2)
使用数学技巧:
SELECT * FROM PRODUCT_revised WHERE (V_CODE - 22000) * (V_CODE - 55000) = 0;