现在有一个业务场景,两张表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查询一个表中另外一个表不存在内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复