如何從MySQL表A中選擇不存在於表B中的資料?
您可以使用 IN 運算子從一個表中選擇不存在於另一個表中的資料。為了理解上述語法,讓我們建立一個表。
第一個表名為 A,第二個表名為 B。建立表的查詢如下所示
mysql> create table A -> ( -> Value int -> ); Query OK, 0 rows affected (0.56 sec)
現在您可以使用 INSERT 命令在表中插入一些記錄。
查詢如下所示
mysql> insert into A values(10); Query OK, 1 row affected (0.23 sec) mysql> insert into A values(20); Query OK, 1 row affected (0.11 sec) mysql> insert into A values(30); Query OK, 1 row affected (0.11 sec) mysql> insert into A values(50); Query OK, 1 row affected (0.10 sec) mysql> insert into A values(80); Query OK, 1 row affected (0.12 sec)
使用 SELECT 語句顯示錶中的所有記錄。
查詢如下所示
mysql> select *from A;
以下是輸出結果
+-------+ | Value | +-------+ | 10 | | 20 | | 30 | | 50 | | 80 | +-------+ 5 rows in set (0.00 sec)
以下是建立名為 B 的第二個表的查詢
mysql> create table B -> ( -> Value2 int -> ); Query OK, 0 rows affected (0.65 sec)
使用 INSERT 命令在表中插入一些記錄。
查詢如下所示
mysql> insert into B values(20); Query OK, 1 row affected (0.11 sec) mysql> insert into B values(50); Query OK, 1 row affected (0.15 sec)
現在您可以使用 SELECT 語句顯示錶中的所有記錄。
查詢如下所示
mysql> select *from B;
以下是輸出結果
+--------+ | Value2 | +--------+ | 20 | | 50 | +--------+ 2 rows in set (0.00 sec)
以下是從表 A 中選擇不存在於表 B 中資料的查詢
mysql> SELECT * FROM A WHERE Value NOT IN (SELECT Value2 FROM B);
以下是輸出結果
+-------+ | Value | +-------+ | 10 | | 30 | | 80 | +-------+ 3 rows in set (0.00 sec)
廣告