MySQL XOR运算符与IN子句?

如果一个或另一个操作数(或表达式)但不是两个都为TRUE,则MySQL XOR返回TRUE。IN子句用于指定任何其他MySQL查询的条件。

让我们先创建一个表

create table DemoTable
-> (
-> Num1 int,
-> Num2 int
-> );

使用插入命令在表中插入一些记录-

insert into DemoTable values(5,5);

insert into DemoTable values(6,6);

insert into DemoTable values(7,7);

使用select语句显示表中的所有记录-

select *from DemoTable;

输出结果

这将产生以下输出-

+------+------+
| Num1 | Num2 |
+------+------+
| 5    | 5    |
| 6    | 6    |
| 7    | 7    |
+------+------+
3 rows in set (0.00 sec)

以下是在MySQL中使用IN对XOR的查询-

select Num1,Num2 from DemoTable where ( Num1 IN (5,6,7 ) XOR Num2 IN ( 16, 16, 16 ) );

输出结果

这将产生以下输出-

+------+------+
| Num1 | Num2 |
+------+------+
| 5    | 5    |
| 6    | 6    |
| 7    | 7    |
+------+------+
3 rows in set (0.00 sec)