sql - 通过多列从数据库中查询多个值

标签 sql database oracle jdbc

我有以下查询:

SELECT
  a, b, value
FROM
  table
WHERE
  a = :a AND b = :b

我必须为 N=10000+ 个不同的 (a, b) 对选择一个值。

最简单的解决方案是进行 N 次单个查询,但从性能 POV 来看它很糟糕。对于这种情况,什么是更优的解决方案?

最佳答案

SELECT
  a, b, value
FROM
  table
WHERE
  (a ,b) in ((a1,b1),(a2,b2),(a3,b3),(a4,b4),(a5,b5)...(an,bn)) 

关于sql - 通过多列从数据库中查询多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27945826/

相关文章:

mysql - 使用 min() 查询未显示正确结果

mysql - MySQL 中何时使用单引号、双引号和反引号

mysql - 统计学生人数并显示在另一个表中

mysql - CONCAT 和 LIMIT 的 SQL 版本

mysql - 如何检测MySql服务器故障?

oracle - 将导入的 oracle db dmp 保存在 docker 镜像中

java - 从 Java 在 Oracle 数据库中创建表

php - 使用 SQL windows 函数编写查询来计算一个国家/地区城市人口的运行总数

php - 将表单数据插入mysql表(安全)

java - session 终止后无法将 JDBC 与 Oracle 重新连接