MYSQL将两张表的数据合并显⽰使⽤UNION操作符
union:⽤于连接两个以上的 SELECT 语句的结果组合到⼀个结果集合中。多个 SELECT 语句会删除重复的数据。
使⽤union操作符会将多张表中相同的数据取值⼀次,如果想将表1和表2中的值完整的显⽰出来,可以使⽤union all。
演⽰
⼩伙伴们⾃⾏创建⼀下表。
表1数据如下:
表2数据如下:
OK,表数据已经创建完成,⼀共五条数据,接下来我们去看⼀看union 和 union all 的使⽤。
使⽤union 看⼀下效果:
select t1.id id, t1.name name, t1.description ate_time time from table1 t1
UNION
select t2.id id, t2.name name, t2.description ate_date time from table2 t2
我们可以看到使⽤union只会查出来四条数据。其中两条是相同的数据,则显⽰⼀条。
使⽤union all 看⼀下效果:
select t1.id id, t1.name name, t1.description ate_time time from table1 t1
UNION ALL
select t2.id id, t2.name name, t2.description ate_date time from table2 t2
使⽤union all查出5条数据,ps:相同的数据也会查询出来。
拓展:
为了区分哪张表中的数据,我们可以这样做
select t1.id id, t1.name name, t1.description ate_time time,'table1' type from table1 t1
UNION ALL
mysql删除重复的数据保留一条select t2.id id, t2.name name, t2.description ate_date time,'table2' type  from table2 t2
将两张表中的数据按时间排序
select t3.* from (select t1.id id, t1.name name, t1.description ate_time time,'table1' type from table1 t1 UNION ALL
select t2.id id, t2.name name, t2.description ate_date time,'table2' type  from table2 t2) t3 order by t3.time desc
结语
如有问题,还望告知。不胜感激!
这篇⽂章对你有帮助的话,动动你可爱的⼩⼿指,点个赞再⾛吧。⾮常感谢!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。