java - java中如何比较两个结果集的值

标签 java resultset

我有两张 table 。这些表具有相同的模式,由用户标识、用户名组成。我想检查 table1table2 中是否有任何共同的 username

 rs1 = statement.executeQuery("select username from table1")
 rs2 = statement.executeQuery("select username from table2")

我的逻辑是:

  • while(rs1.next())
  • rs1 的值与 rs2 的每个值进行比较。
  • 如果找到匹配项打印其中一个值 else 打印两个值。

有没有办法在 java 中实现这个...请任何人帮助我...谢谢...

最佳答案

我会使用单个 SQL 语句:

select table1.username from table1, table2 where table1.username = table2.username

这只会返回同时出现在两个表中的用户名,因此不需要进行任何后处理。

这个构造称为 inner join .如果您还想识别 table1 和/或 table2 唯一的用户名,您可以使用 outer join .

关于java - java中如何比较两个结果集的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15184100/

相关文章:

java - 使用sql server从jdbc中的结果集中转到最后一行

java - REST 调用以将大型结果集保存到可下载的 CSV

java - (Android)应用程序是否共享内存页面?

java - 数据结构/Java 管理顺序命令列表的技术

java - 如何比较 Java 中的两个日期,然后将结果与另一个日期进行比较?

php - CI 查询结果给出意外结果

Java double 求和麻烦

java - 刷新 ServletOutputStream 时出现空指针异常

java - 从访问表中检索特定行

Java - 以分钟为单位计算差异