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

EXCEPT ไม่ทำงานใน MySQL ใช้ NOT IN แทน

MySQL ไม่รองรับ EXCEPT ใช้ NOT IN กับ Subquery เพื่อหาค่าที่อยู่ในตารางแรกแต่ไม่อยู่ในตารางที่สอง

ตัวอย่าง

mysql> create table DemoTable1 ( Number1 int );
Query OK, 0 rows affected (0.71 sec)
mysql> insert into DemoTable1 values(100); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable1 values(200); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable1 values(300); Query OK, 1 row affected (0.13 sec)
mysql> create table DemoTable2 ( Number1 int );
Query OK, 0 rows affected (0.52 sec)
mysql> insert into DemoTable2 values(100); Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable2 values(400); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable2 values(300); Query OK, 1 row affected (0.11 sec)

ใช้ NOT IN แทน EXCEPT

mysql> select Number1 from DemoTable1 where Number1 not in (SELECT Number1 FROM DemoTable2);
+---------+
| Number1 |
+---------+
| 200     |
+---------+

คืนค่า 200 เพราะอยู่ใน DemoTable1 แต่ไม่อยู่ใน DemoTable2 (100 และ 300 อยู่ในทั้งสองตาราง)