在mysql中将两个表字段中相同的值进行对比!
如我有表A与表B,在表A的字段a中的值有1、2、3、4,在表B的字段a中有1、2、3,我的意思是用sql语句筛选出表A中表B没有的数据,不用插入修改什么的,只得到一个查询...
如我有表A与表B,在表A的字段a中的值有1、2、3、4,在表B的字段a中有1、2、3,我的意思是用sql语句筛选出表A中表B没有的数据,不用插入修改什么的,只得到一个查询的结果。
展开
3个回答
展开全部
这个是数据库的基础应用哦,你的基础应该加强点。
select * from 表A where 表A.a not in(select 表B.a from 表B)
select * from 表A where 表A.a not in(select 表B.a from 表B)
追问
你好!其实我对比的不是数字,是汉字!我用了你那个语句得不到正确答案,我表A里面有168行表B里面有148行,我用你给的语句查到有30行不一样的。应该是20才对。
追答
我猜应该是B表里面有10行数据是重复的。你用
select * from 表B where a in (select a from 表B group by a having count(a) > 1)
查查看。
如果真是有重复的话就把语句改成
select * from 表A where 表A.a not in(select 表B.a from 表B group by 表B.a)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select A.a from A where A.a not in(select B.a from B group by B.a)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select * from A where A.a not in (select b.a from b)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询