mysql如何合并查询多个相同数据结构库的表输出来结果?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql如何合并查询多个相同数据结构库的表输出来结果?相关的知识,希望对你有一定的参考价值。

是这样的我数据有好多相同结构的表我想用sql语句合并输出指定的内容出来,就好像我的test表里面没有id=28,test2的表里面有id=28这个值,我用这条语句可以输出(看附件图片-百度)
但是如果我好多表那个`id` = "28"要写好多次,有没有简单快捷的方便高效的s'q'l语句不用重复输入`id` = "28"这个

直接先用union all合并所有的表,再包一层select语句,将合并表作为子表查询,加where条件即可,如果记录重复,可以加distinct关键字去重。追问

大神具体怎么写语句这不是很会写这个语句,帮我写下 谢谢

参考技术A 你图上怎么两个FROM后面都是test,应该有差异吧,是不是这样:
SELECT * FROM test1 WHERE id=28
UNION ALL
SELECT * FROM test2 WHERE id=28
UNION ALL
SELECT * FROM test3 WHERE id=28
这个是SQL是无法简化的,没有只写一次id=28的办法。一般这样把相同结构的数据分到不同的表是不推荐的,除非万不得已,例如一个月的数据放一个表里面,或者一个部门的数据放在一个表里面,都是不可取的,不一定提高多少效率,一定给编程带来许多麻烦。追问

是的 test1,test2,3这几个数据库结构是一样的里面数据不一样我就想用sql语句查询这三个数据库里面内容例如我想查id=28这样,test1没有就查test2,test3这样如果其中一个数据库有就输出内容,用这个语句UNION ALL 能不能只输一个id=28

追答

如果只输出一个就用UNION,不要后面的ALL,系统就能去重。但是查询语句的SQL无法省略,必须有多少个表就得写多少条件。

本回答被提问者和网友采纳

以上是关于mysql如何合并查询多个相同数据结构库的表输出来结果?的主要内容,如果未能解决你的问题,请参考以下文章

mybatis查询结果如何合并为列表

Bigquery如何查询多个相同结构的表?

23.Mysql应用优化

(日常疑问)同一个mysql为什么可以查询其他库的数据?

mysql查询某个库的表数量

mysql多表查询合并到一个临时表,怎么再加一列并把各自的表名加上?