mysql 查询一个表中没有存在在另一个表的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 查询一个表中没有存在在另一个表的数据相关的知识,希望对你有一定的参考价值。
Abiao
id content
1 sfsdfsg
2 ddsgffd
3 gfggg
4 dggfhfd
Bbiao
id
2
3
那么我要查询到Abiao 里面在Bbiao没有的数据
(理想结果)就是:
id content
1 sfsdfsg
4 dggfhfd
越简单越精简 越好
WHERE id NOT IN ( SELECT id FROM B);
或者
SELECT * FROM A
WHERE
NOT EXISTS (
SELECT 1
FROM B
WHERE B.id = A.id );
或者
SELECT
A.*
FROM
A LEFT JOIN B
ON (A.id = B.id)
WHERE
b.id IS NULL 参考技术A SELECT A.*
FROM Abiao A LEFT JOIN Bbiao B
ON (A.id = B.id)
WHERE B.id IS NULL
如何将一个表的查询结果插入到另一个表中?
将查询结果插入到另一个表的三种情况
一:如果要插入目标表不存在:
select * into目标表 from 表 where ...
二:如果要插入目标表已经存在:
insert into目的表 select * from 表 where 条件
三:如果是跨数据库操作的话: 怎么把A数据库的atable表所查询的东西,全部插入到B 数据库的btable表中
select * intoB.btable from A.atable where ...
同样,如果是跨服务器的,也是可以的。
参考技术A 1.这里有两张表格,在表1中,有两个人的数学成绩。
2.
而在表2中,有两个人的物理成绩,我们要做的就是将表2中物理成绩导入表1中。
3.
在表1中,先选中“郝帅”对应的物理成绩的C2单元格,点击“插入”、“插入函数”。
4.
在“选择类别”中选择“查找与引用”。
5.
在函数中选择“VLOOKUP”,点击确定,然后点击弹出来的小窗口中第一行旁边的按钮。
6.
再点击“郝帅”所在单元格A2即可看到旁边的小窗口中出现了对应的字样。 参考技术B 如果表存在:
insert into tab1 select * from tab2;
如果表不存在:
create table tab1 as select * from tab2; 参考技术C 首先你查询后结果的字段与你要插入的表的字段的类型要一致,假入表 1,表2
将表2中查询出的结果插入到表1中,SQL如下(ORACLE):
INSERT INTO 表1(字段1,字段2,字段n)
select 表2.字段1,表2.字段2,表2.字段n from 表2
这样就可以满足你的要求
以上是关于mysql 查询一个表中没有存在在另一个表的数据的主要内容,如果未能解决你的问题,请参考以下文章