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

ตัวแทนของ EXCEPT ใน MySQL คือ NOT IN

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

ตัวอย่าง

mysql> create table DemoTable ( Number1 int );
Query OK, 0 rows affected (0.71 sec)
mysql> insert into DemoTable values(100); Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(200); Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable 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 DemoTable where Number1 not in (SELECT Number1 FROM DemoTable2);
+---------+
| Number1 |
+---------+
| 200     |
+---------+

คืนค่า 200 เพราะอยู่ใน DemoTable แต่ไม่อยู่ใน DemoTable2