我有一个包含列ID(主键,数字),名称(varchar),值(数字)和键(数字)的表。我想检索所有具有key = 1和key = 2的记录。我可以使用not equals condition(!=)来编写查询但这会使查询很长。这就是我试过的。
SELECT * FROM USER_DETAILS WHERE NAME='sam' AND
KEY != 3 AND KEY != 4 AND KEY != 5 AND KEY != 6 AND KEY != 7 AND KEY != 8 AND
等等。你能建议我一个Oracle查询,我可以检索key = 1和key = 2的记录,而不是检查不等于条件。
更新:正如答案所示,我想知道Hibernate是否支持IN
答案 0 :(得分:3)
SELECT * FROM USER_DETAILS
WHERE
KEY=1 OR KEY=2
或
SELECT * FROM USER_DETAILS
WHERE
KEY IN (1,2)
答案 1 :(得分:3)
在Hibernate中支持IN OPERATOR。您应该编写以解决问题的查询是:
SELECT * FROM USER_DETAILS WHERE NAME='sam' AND KEY IN (1,2)