使用MySQL LEFT OUTER JOIN比较两个表并返回缺失的ID
要比较两个表并返回缺失的ID,需要使用MySQL LEFT OUTER JOIN。
让我们创建一个包含示例字段的表,然后我们将插入记录。创建第一个表的查询:
第一个表 (First_Table)
mysql> create table First_Table -> ( -> Id int -> ); Query OK, 0 rows affected (0.88 sec)
现在使用insert命令在表中插入一些记录。查询如下:
mysql> insert into First_Table values(1); Query OK, 1 row affected (0.68 sec) mysql> insert into First_Table values(2); Query OK, 1 row affected (0.29 sec) mysql> insert into First_Table values(3); Query OK, 1 row affected (0.20 sec) mysql> insert into First_Table values(4); Query OK, 1 row affected (0.20 sec)
使用select语句显示表中的所有记录。查询如下:
mysql> select *from First_Table;
输出如下:
+------+ | Id | +------+ | 1 | | 2 | | 3 | | 4 | +------+ 4 rows in set (0.00 sec)
以下是创建第二个表的查询:
第二个表 (Second_Table)
mysql> create table Second_Table -> ( -> Id int -> ); Query OK, 0 rows affected (0.60 sec)
现在可以使用insert命令在表中插入一些记录。查询如下:
mysql> insert into Second_Table values(2); Query OK, 1 row affected (0.19 sec) mysql> insert into Second_Table values(4); Query OK, 1 row affected (0.20 sec)
使用select语句显示表中的所有记录:
mysql> select *from Second_Table;
输出如下:
+------+ | Id | +------+ | 2 | | 4 | +------+ 2 rows in set (0.00 sec)
使用LEFT OUTER JOIN比较两个表并返回缺失ID的查询如下:
mysql> SELECT First_Table.Id FROM First_Table -> LEFT OUTER JOIN Second_Table ON First_Table.Id = Second_Table.Id -> WHERE Second_Table.Id IS NULL;
输出如下:
+------+ | Id | +------+ | 1 | | 3 | +------+ 2 rows in set (0.00 sec)
广告