Java 如何将多个表合并为一个新表

Java 如何将多个表合并为一个新表,java,sql,join,Java,Sql,Join,我有很多桌子,比如说20张。他们的计划和 CREATE TABLE index[1-20] ( [id] [bigint] NOT NULL, [word] [varchar](100) NOT NULL, [positions] [nvarchar](max) NOT NULL, primary key(id,word) ) 我现在要做的是将这些表连接到一个表中。假设这些表可以包含相同的单词。在这种情况下,我们只是将这些位置组合在一起。否则,只需将不同的单词保留到新表中即可 我想我们可以使用

我有很多桌子,比如说20张。他们的计划和

CREATE TABLE index[1-20]
(
[id] [bigint] NOT NULL,
[word] [varchar](100) NOT NULL,
[positions] [nvarchar](max) NOT NULL,
primary key(id,word)
)

我现在要做的是将这些表连接到一个表中。假设这些表可以包含相同的单词。在这种情况下,我们只是将这些位置组合在一起。否则,只需将不同的单词保留到新表中即可

我想我们可以使用完全连接。但是在java中有什么好主意可以做到这一点吗?如何编写逻辑


非常感谢

我宁愿在SQL中进行连接,否则您将通过网络将所有数据拉入JVM。让数据库做它擅长的事情。执行联接的方式在很大程度上取决于数据库


但是,我也会质疑导致将20个表连接在一起的数据库建模。

JOIN
不是您需要的,而是您需要的


但是为什么首先要有这些表格呢?

“我们只是把这些位置合并起来”——你是说把这两个位置连在一起?我不确定我是否想知道您在该字段中存储了什么!:-)您使用的是哪个版本的sql?是的,只是简单地将它们连接起来就可以了,它只是文本。我使用SQLServer2012,因为这些表是由java程序创建的。而且每张桌子都很大。当我刚刚创建一次JVM时,JVM的内存就用完了。所以我把它们分成了你现在看到的。感谢这听起来像是创建(填充?)这些表的代码,效率不是很高。不,实际上我存储到数据库中的是一个对数以百万计的文本文件的倒排索引。构建的映射非常庞大,超出了JVM的内存限制。所以我就把它分了。