在java中如何使用UNION连接两个数据库,我想在两个不同数据库中查询信息22?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在java中如何使用UNION连接两个数据库,我想在两个不同数据库中查询信息22?相关的知识,希望对你有一定的参考价值。

不好意思看了下,还以为不能用UNION呢。后来可以了。不知道如果我想给每个库做个识别符,在连接是否可以?而且怎么样来提高查询速度呢?

不能直接用union查询吧,可以创建到两个数据库的连接,然后分别查询再将查询结果放到一个容器中。 参考技术A 可以使用数据库的DB_LINK功能,把两个数据库连接起来进行信息的查询。

如何在不使用“|”的情况下在一行中连接两个集合

假设ST被分配集合。不使用连接运算符|,如何找到两个集合的并集?例如,这可以找到交叉点:

S = {1, 2, 3, 4}
T = {3, 4, 5, 6}
S_intersect_T = { i for i in S if i in T }

那么如何在不使用|的情况下在一行中找到两个集合的并集?

答案

您可以对集合使用union方法:set.union(other_set)

请注意,它返回一个新集,即它不会自行修改。

另一答案

对不起,为什么我们不能再次使用join运算符?

>>> set([1,2,3]) | set([4,5,6])
set([1, 2, 3, 4, 5, 6])
另一答案

你可以使用or_别名:

>>> from operator import or_
>>> reduce(or_, [{1, 2, 3, 4}, {3, 4, 5, 6}])
set([1, 2, 3, 4, 5, 6])
另一答案

假设你也不能使用相当于s.union(t)s | t,你可以试试

>>> from itertools import chain
>>> set(chain(s,t))
set([1, 2, 3, 4, 5, 6])

或者,如果你想要理解,

>>> {i for j in (s,t) for i in j}
set([1, 2, 3, 4, 5, 6])
另一答案

如果加入你的意思是工会,试试这个:

set(list(s) + list(t))

这有点像黑客,但我想不出更好的一个班轮来做到这一点。

另一答案

假设你有2个列表

 A = [1,2,3,4]
 B = [3,4,5,6]

所以你可以找到A Union B如下

 union = set(A).union(set(B))

如果你想找到交叉点和非交叉点,你也可以这样做

 intersection = set(A).intersection(set(B))
 non_intersection = union - intersection
另一答案

如果你可以修改原始集(在某些情况下你可能想要这样做),你可以使用set.update()

S.update(T)

返回值是None,但S将更新为原始ST的联合。

另一答案

你可以做union或简单的列表理解

[A.add(_) for _ in B]

A将拥有B的所有元素

以上是关于在java中如何使用UNION连接两个数据库,我想在两个不同数据库中查询信息22?的主要内容,如果未能解决你的问题,请参考以下文章

数据库中union 与union all 的区别

在union的时候怎么强制指定数据类型

.如何使用UNION子句,它必须符合哪两条基本准则?

union连接的两个表的字段必须完全相同吗?

如何用union合并SQL查询的数据

sql语句里面的union是啥意思