PHP比较两个表不同数据

angryTom
angryTom 原创
2023-02-28 08:40:01 2907浏览

PHP比较两个表不同数据

比较表数据的sql语句:

(select *
        from EMP
        minus
        select *from EMP2)
union 
(select *
       from EMP2
       minus
       select * from EMP)

注意:前提是表结构一样,可以进行数据差异查询

得到下列结果:

1.png

结果:得到了两张结构相同表的差异数据

但是无法区分哪一行的数据,属于那张表,因此加上子查询,利用虚拟列名称,进行区分·,sql如下所示:

select a.*,'EMP' from (select *
          from EMP
        minus
        select * FROM EMP2)  a
        
union 
select b.*,'EMP2' from
(select *
         from EMP2
       minus
       select * FROM EMP) b

得到的查询结果,如下所示:

2.jpg

结果:增加了EMP行,加以区分;

最后使用php实现即可:

<?php
$serve = 'localhost:3306';
$username = 'root';
$password = 'admin123';
$dbname = 'examples';
$link = mysqli_connect($serve,$username,$password,$dbname);
mysqli_set_charset($link,'UTF-8'); // 设置数据库字符集
$result = mysqli_query($link,"select a.*,'EMP' from (select * from EMP minus select * FROM EMP2) a union select b.*,'EMP2' from (select * from EMP2 minus select * FROM EMP) b");
while ($row = mysqli_fetch_assoc($result)) {   

}
?>

更多PHP相关知识,请访问PHP中文网

以上就是PHP比较两个表不同数据的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。