sql在select语句中使用两个或多个OR条件

时间:2017-07-24 02:07:11

标签: mysql sql phpmyadmin

AM尝试获取状态不是= 16或不= 11的状态所以基本上我想获得状态记录

1 to 10 jump 11, then 12 to 15

这是我的sql语句

SELECT t.*
  FROM tbl_trucks t
   WHERE t.truck_status != 11
   OR t.truck_status != 16;

在上述情况下,只执行第二个(!16)。

我也试过

SELECT t.*
  FROM tbl_trucks t
  WHERE t.truck_status <> 11
  OR t.truck_status <> 16

可能出错?

2 个答案:

答案 0 :(得分:2)

使用NOT IN

SELECT t.*
FROM tbl_trucks t
WHERE t.truck_status NOT IN (11, 16);

您的代码可以使用AND代替OR

答案 1 :(得分:2)

您使用的是错误的逻辑。如果您不想显示状态1116,则表示您希望所有非11且不是16的内容如此:

SELECT t.*
  FROM tbl_trucks t
 WHERE t.truck_status <> 11
   AND t.truck_status <> 16