Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ตัวดำเนินการ XOR ใน MySQL ร่วมกับเงื่อนไข IN

ตัวดำเนินการ XOR ใน MySQL จะคืนค่า TRUE เมื่ออีกตัวหนึ่งของสองตัวเงื่อนไข (หรือนิพจน์) เป็น TRUE แต่ไม่ใช่ทั้งคู่ ในขณะที่เงื่อนไข IN ใช้ระบุเงื่อนไขพร้อมกับคำสั่ง MySQL อื่นๆ

สร้างตารางตัวอย่าง

mysql> create table DemoTable (
    -> Num1 int,
    -> Num2 int
    -> );
Query OK, 0 rows affected (0.61 sec)

เพิ่มข้อมูลตัวอย่าง

mysql> insert into DemoTable values(5,5);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values(6,6);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable values(7,7);
Query OK, 1 row affected (0.15 sec)

แสดงข้อมูลทั้งหมด

mysql> select * from DemoTable;

ผลลัพธ์

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

คำสั่งสำหรับ XOR ร่วมกับ IN ใน MySQL

mysql> 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)

คำอธิบาย: เนื่องจาก Num2 ไม่มีค่าใดอยู่ในชุด (16,16,16) ทำให้เงื่อนไขขวาเป็น FALSE ส่วน Num1 มีค่าอยู่ในชุด (5,6,7) ทำให้เงื่อนไขซ้ายเป็น TRUE ดังนั้น XOR จึงคืนค่า TRUE สำหรับทุกแถว