ACCESS中有2个表,想找出2个表不一样的数据,SQL查询怎么写?

ACCESS数据库中有2个表,表1中100条数据,表2中80条,表1包含表2的数据,现在想找出表1中表2没有的那20条数据,请问SQL语句怎么写啊????或者是一个表中的... ACCESS数据库中有2个表,表1中100条数据,表2中80条,表1包含表2的数据,现在想找出表1中表2没有的那20条数据,请问SQL语句怎么写啊????
或者是一个表中的2个字段像上面这样,怎么能查询出来呢?

2种方法好像都不行啊。

举例:表x1中有字段ph,表x2中也有字段ph,如果查出这两个字段中不同的内容?
展开
 我来答
gewangisme
2019-05-11 · TA获得超过158个赞
知道答主
回答量:36
采纳率:100%
帮助的人:1.3万
展开全部
1、SELECT * FROM t2 WHERE id NOT IN (SELECT id FROM t1)
2、SELECT * FROM t2 WHERE NOT EXISTS(SELECT * FROM t1 WHERE t1.id=t2.id)
3、SELECT t2.* FROM t2 LEFT JOIN t1 ON t2.id=t1.id WHERE t1.id is null
三种方法都得不到所想要的不同内容的结果(VB编程,语法正确,结果为空),崩溃了。
我有表1=Standard_Data1 ,表2=Standard_Data2,两个表里面只有1列数据为MSISDN,下面SQL语句没法找到不同的内容。
select * from Standard_Data1 where Standard_Data1.MSISDN not IN(select Standard_Data2.MSISDN from Standard_Data2)
select * from Standard_Data1 where not exists(select * from Standard_Data2 where Standard_Data1.MSISDN=Standard_Data2.MSISDN)
更新:
distinct是关键,在select后面加上这个就成功了。另外,最快的查找方法是下面这2条,之所以是2条因为要找两次才能找全互相不同的数据:
select distinct Standard_Data1.* from Standard_Data1 left join Standard_Data2 on Standard_Data1.MSISDN=Standard_Data2.MSISDN where Standard_Data2.MSISDN is NULL
select distinct Standard_Data2.* from Standard_Data2 left join Standard_Data1 on Standard_Data2.MSISDN=Standard_Data1.MSISDN where Standard_Data1.MSISDN is NULL
找相同内容的语句就很容易就出正确的结果了,如下:
select distinct Standard_Data1.* from Standard_Data1 inner join Standard_Data2 on Standard_Data1.MSISDN=Standard_Data2.MSISDN
magic_ycf
推荐于2018-03-13 · TA获得超过321个赞
知道小有建树答主
回答量:204
采纳率:0%
帮助的人:227万
展开全部
先要确定1个或者几个索引字段,如果是多个字段的话先连接起来
select * from 表1 where 表1.字段1 & 表1.字段2 not in (select 字段1&字段2 from 表2)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
飞扬跋扈2017
2018-03-13 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:94
采纳率:75%
帮助的人:32万
展开全部
select * from x1 where id not in
(select a.id from x1 a left join x2 b on a.ph = b.ph)

解释下,先查出所有项都一样的,x1表的id

然后id不再这里的就是不同的喽

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2011-02-18
展开全部
select * from 1,2 where 1.name<>2.name
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cx1982420
2011-02-18 · TA获得超过1358个赞
知道小有建树答主
回答量:741
采纳率:100%
帮助的人:334万
展开全部
怎么会呢
Select * from 表1 where 表1比较字段 not in (select 表2比较字段 from 表2)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式