将数据插入表C中。如果与MySQL中的表A相比,数据不在表B中?
为此,请在表A和B上使用左连接。让我们创建第一个表-
mysql> create table demo20 −> ( −> id int, −> name varchar(20) −> );
借助insert命令将一些记录插入表中-
mysql> insert into demo20 values(100,'John'); mysql> insert into demo20 values(101,'Bob'); mysql> insert into demo20 values(102,'Mike'); mysql> insert into demo20 values(103,'Carol');
使用select语句显示表中的记录-
mysql− select *from demo20;
这将产生以下输出-
+------+-------+ | id | name | +------+-------+ | 100 | John | | 101 | Bob | | 102 | Mike | | 103 | Carol | +------+-------+ 4 rows in set (0.00 sec)
以下是创建第二个表的查询-
mysql> create table demo21 −> ( −> id int, −> name varchar(20) −> );
借助insert命令将一些记录插入表中-
mysql> insert into demo21 values(100,'Sam'); mysql> insert into demo21 values(101,'Adam'); mysql> insert into demo21 values(133,'Bob'); mysql> insert into demo21 values(145,'David');
使用select语句显示表中的记录-
mysql> select *from demo21;
这将产生以下输出-
+------+-------+ | id | name | +------+-------+ | 100 | Sam | | 101 | Adam | | 133 | Bob | | 145 | David | +------+-------+ 4 rows in set (0.00 sec)
以下是创建第三个表的查询-
mysql> create table demo22 −> ( −> id int, −> name varchar(20) −> );
现在,假设demo20的表名称为A,demo21的表名称为B,demo22的表名称为C。如果数据不在表B中,则将查询数据插入表C的方法如下:
mysql> insert into demo22(id,name) −> select tbl1.id,tbl1.name from demo20 tbl1 −> left join demo21 tbl2 on tbl2.id=tbl1.id −> where tbl2.id is null; Records: 2 Duplicates: 0 Warnings: 0
使用select语句显示表中的记录-
mysql> select *from demo22;
这将产生以下输出-
+------+-------+ | id | name | +------+-------+ | 102 | Mike | | 103 | Carol | +------+-------+ 2 rows in set (0.00 sec)