问题:要知道两个表或视图中是否有相同的数据(基数和值)。考虑这个视图:

create view V
as 
    select * from emp where deptno !=10
        union all
    select * from emp where ename = 'WARD'

现要检测这个视图与表emp中的数据是否完全相同。员工“WARD”行重复,说明解决方案不仅要显示不同行,还要显示重复行。

解决方案:
1.首先,查找出表emp中存在而试图v中没有的行
2.然后合并(union all)在视图V中存在,而在表emp中没有的行。

select * from 
    (
        select e.empno,e.ename,e.job,e.mgr,e.hiredate,
            e.sal,e.comm,e.deptno,count(*)  as cnt
        from emp e
        group by empno,ename,job,mgr,hiredate,sal,comm,deptno
    ) e
where not exists
    (
    select null from
        (
            select v.empno,v.ename,v.job,v.mgr,v.hiredate,v.sal,v.comm,v.deptno
                count (*) as cnt
            from v
            group by empno,ename,job,mgr,hiredate,sal,comm,deptno
        )v
        where v.empno = e.empno
            and v.ename = e.ename
            and v.job = e.job
            and v.mgr = e.mgr
            and v.hiredate = e.hiredate
            and v.sal = e.sal
            and v.deptno = e.deptno
            and v.cnt = e.cnt
            and coalesce(v.comm.0) = coalesce(e.comm,0)
    )
    union all

select * from 
    (
        select e.empno ,e.ename,e.ename,e.job,e.mgr,e.hiredate,e.sal ,e.comm,e.deptno,count(*) as cnt
        from v 
        group by empno,ename,job,mgr,hiredate,sal,comm,deptno
    )v
    where not exists (
        select null from (
            select e.empno,e.ename,e.job,e.mgr,e.hiredate,e.sal,e.comm,e.deptno,count(*) as cnt
            from emp e
            group by empno,ename,job,mgr,hiredate,sal,comm,deptno
            )e
        where v.empno = e.empno
            and v.ename = e.ename
            and v.job = e.job
            and v.mgr = e.mgr
            and v.hiredate = e.hiredate
            and v.sal = e.sal
            and v.deptno = e.deptno
            and v.cnt = e.cnt
            and coalesce(v.comm.0) = coalesce(e.comm,0)

);

转载于:https://www.cnblogs.com/liang545621/p/7518471.html

3.07 检测两个表中是否有相同的数据相关推荐

  1. 查询一列不同值的数据 mysql_怎样查询两个表中同一字段的不同数据值

    怎样查询两个表中同一字段的不同数据值 例如: A表中的字段a有40000条数据 B表中的字段a有60000条数据,其中的40000条数据跟A表是一样的 怎样能把那不一样的20000条数据查询出来啊? ...

  2. update两个表中的同一字段的数据_用Python实现多个工作簿中的数据按列合并到同一个工作表中...

    1.需求描述 现在有三个工作表,如下: 在这里插入图片描述 并且每个工作表中的内容如下: 在这里插入图片描述 需要将这三个工作簿中的分数这一列合并到一起,最终实现效果如下图: 在这里插入图片描述 2. ...

  3. EXCEL表从两张表中比对相同的数据后追加公式

    =IF(ISNA(VLOOKUP(B13,'sheet2'!B:C,2,FALSE)),"",VLOOKUP(B13,'sheet2'!B:C,2,FALSE))

  4. sql INNER JOIN 取得两个表中存在连接匹配关系的记录(mysql)

    首先:JOIN 通常与 ON 关键字搭配使用 其次我们来看我们的两个表格: table1: table2: 在这里,INNER JOIN(内连接,或等值连接):取得两个表中存在连接匹配关系的记录. 例 ...

  5. 不同服务器数据库表连接查询修改,如何连接多个数据库,mysql中的服务器和查询两个表中的对方?...

    我期待从不同服务器连接两个不同的数据库.此外,我想运行一个查询,从两个数据库中获取数据到一个单一的结果.我正在使用mysql在PHP脚本中执行此操作.这里是如何很期待做[没有成功:)]如何连接多个数据 ...

  6. 查询出两个表中不同的数据

    查询出user表中有user_pro中没有的mobile字段 写法一 select * from user where mobile not in(select mobile from user_pr ...

  7. 查询表中id相同的记录mysql_mysql – 从两个表中的ID相同的两个表中选择数据

    好的,我有两个名为subobject的表:parentID,objectName,subID(primary)和subrelation:ID,className parentID | objectNa ...

  8. xlsx表格怎么筛选重复数据_excel怎么筛选两个表中相同数据

    excel使用中,有两个拥有相同数据的工作表,应该怎么筛选出这些数据呢?下面就跟学习啦小编一起来看看吧. excel筛选两个表中相同数据的方法1 在"Sheet1"放上数据一. 在 ...

  9. 使用sql如何找出两张表中同一字段的不同值

    前言: 正逢五一假期有时间来继续更新几篇有关于sql语句的相关博客.在做后台算法测试的时候可能常常会遇到查看输入表中的某条数据是否成功写入到输出表中了,这时候就需要对比这两张表中的数据了. 想要实现这 ...

最新文章

  1. redis学习之redis基本数据类型以及Jedis
  2. mysql错误代码 集合
  3. 修正本地乱码(待补充)
  4. Python常见数据结构整理
  5. bzoj4773 负环
  6. python生成随机验证码(字母加数字的组合)
  7. 菜鸟python 正则表达式_python基础知识(进阶篇--正则表达式)
  8. 黑莓 os6 html5,黑莓OS 6内置浏览器HTML5性能超越其他平台
  9. mac终端支持git
  10. 《自己动手写CPU》学习记录(1)——第1章
  11. git使用 - 暂存更改
  12. 知道路程时间求加速度_加速度位移时间的公式
  13. C语言教程(七):函数
  14. scrapy日志信息等级
  15. GMT中文字体显示配置
  16. vue打包中background-image图片路径问题
  17. linux libuv,libuv queue的实现
  18. nginx server name “*“ has suspicious symbols
  19. 红米note4出厂系统版本_红米 Note 4 开始接收 MIUI 10 国际稳定版系统更新
  20. MY资源网址整合记录

热门文章

  1. CSS浏览器兼容问题
  2. iOS开发之控制器创建与加载(生命周期)
  3. MyBatis6:MyBatis集成Spring事物管理(下篇)
  4. uva 10816 Travel in Desert(简单的好题~两种方法)
  5. Node-ipc 热门包作者投毒“社死‘’,谁来保护开源软件供应链安全?
  6. Apache Solr 未授权上传(RCE)漏洞(CVE-2020-13957)的原理分析与验证
  7. ImmuniWeb 推出暗网数据泄露免费查询工具,使用超简单
  8. hadoop10---消息队列
  9. nginx+uwsgi+django环境部署部署
  10. 列出spring security的所有SecurityFilterChain