java - 一个 ResultSet 可以处理多个表吗?

标签 java sql jdbc

假设我有一个这样的查询:

select b.id, b.desc, c.context_desc, d.age 
from 
index a, events b, contexts c, user d
where 
a.id = b.id and a.context_id = c.context_id and a.user_id = d.user_id
order by b.id

在Java中,一个ResultSet可以处理多个表(假设列名都是唯一的)吗?

int id = resultSet.getInt("id");
String desc = resultSet.getString("desc");
String context_desc = resultSet.getString("context_desc");
int age = resultSet.getInt("age");

最佳答案

当然。

结果集仅包含由 SELECT 子句指定的列。 FROM 子句中有多少个表完全没有区别。在您的情况下,您的结果集将包含列 iddesccontext_descage,如您所示已表明。

最终,只要您的 SQL 合法,即列名明确、唯一命名且可见,结果集将准确包含您指定的内容(不多也不少)。

这是ResultSet文档,了解有关其工作原理以及可以使用它做什么的更多信息。

关于java - 一个 ResultSet 可以处理多个表吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20501271/

相关文章:

java - I/O 错误 : SSO Failed: Native SSPI library not loaded

SQL Server 2016 : join DATETIME2(3) with DATETIME

sql - 如何使用 Between 子句获取两个日期之间的数据?

java - 使用 google-guice 而不使用绑定(bind)代码

java - JNA - 更改 Windows 光标

sql - 确定从日志中更新了多少行的方法

java - 尝试在 jdbc ignite 瘦客户端中提供多个 IP

java - 如何将 MySQL 异常传播到 Java 程序?

java - 抽象类中的构造函数

java - iPhone 代码和 Android 代码