我正在尝试在 Java 中使用 SQL Select 语句进行查询。我目前有以下内容:
ResultSet rs = stmt.executeQuery("SELECT *" +
" FROM " + table +
" WHERE " + selection +
" VALUES " + selectionArgs);
其中“selection”是一个字符串,“selectionArgs”是一个字符串数组。
String selection = "documentFK=?";
String[] selectionArgs = { ... };
是否可以使用 VALUES
命令来替换 ?
,就像使用 INSERT
命令一样?不管怎样,正确的语法是什么?
感谢您的帮助。
最佳答案
我相信您正在寻找的是 IN 语句。您的查询应如下所示:
SELECT *
FROM table
WHERE documentFK IN ('doc1', 'doc2', 'doc3')
AND userFK IN ('user1', 'user2', 'user3')
这(显然)会让你的代码变得更加难看。您必须确保第一个子句使用 WHERE 关键字,而其他所有子句都使用 AND 关键字。此外,每个列表都必须以逗号分隔。
关于java - 提供值的 SQL Where 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8794360/