我是靠谱客的博主 虚心机器猫,这篇文章主要介绍SQL查询一个表中另外一个表不存在的数据。,现在分享给大家,希望可以做个参考。

现在有一个业务场景,两张表SY_USER 表 SY_ORG表

其中SY_ORG表的ORGID  = SY_USER表的USERNAME 

现在有一个需求 要求剔除 A表中(USER) 相对于B表(ORG)表 多余的数据 根据对应关系

编写sql代码 

查询出两张表中的重复项

select DISTINCT  u.username from SY_USER u where u.username 
  in (select o.ORG_ID from SY_ORG o)

查询出A表中相对于B表多余的数据

select DISTINCT  u.username 
from SY_USER u where u.username 
 NOT in (select o.ORG_ID from SY_ORG o)

删除A表中相对于B表多余的数据

 
 delete SY_USER ur where UR.username IN
(select DISTINCT  u.username from SY_USER u where u.username 
 NOT in (select o.ORG_ID from SY_ORG o))

关于distinct 关键字使用方法

SELECT DISTINCT 列名称 FROM 表名称

使用distinct 关键字只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值。其原因是distinct只能返回它的目标字段,而无法返回其它字段。distinct关键字也可以用作多余项的删除 如本文。

最后

以上就是虚心机器猫最近收集整理的关于SQL查询一个表中另外一个表不存在的数据。的全部内容,更多相关SQL查询一个表中另外一个表不存在内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(83)

评论列表共有 0 条评论

立即
投稿
返回
顶部