带有 Where 条件的 HSQLDB 问题
Posted
技术标签:
【中文标题】带有 Where 条件的 HSQLDB 问题【英文标题】:HSQLDB issue with Where condition 【发布时间】:2014-03-05 11:11:05 【问题描述】:我正在使用 HSQLDB 1.8.10 在 Eclipse SWT 中工作。我尝试的查询是:
SELECT id, name, dept FROM students WHERE name='Sachin' OR name='Prakash' AND dept='ECE'
。
理想情况下,上述查询应获取 ECE 部门中名称为 Sachin 或 Prakash 的所有学生。但是该查询没有考虑第三个条件,即它也从其他部门获取学生,而不仅仅是 ECE。此外,如果我查询为:
SELECT id, name, dept FROM students WHERE name='Sachin' OR name='Prakash' AND dept='abcdef'
在这里,我将部门指定为“abcdef”,即使名称“abcdef”中没有这样的部门,它仍会获取与以前相同的记录。
其实
-
HSQLDB 如何在 Where 条件下工作?
如果我们在同一个查询中同时使用“AND”和“OR”条件,我们需要做些什么吗
我已经尝试过 google 和 ***,但我找不到任何相关的答案。请帮我理解。
【问题讨论】:
【参考方案1】:这是旧版本的 HSQLDB。您应该使用最新版本 2.3.2。
用老版本,试试把条件用括号括起来,看看能不能正常工作
SELECT id, name, dept FROM students WHERE (name='Sachin' OR name='Prakash') AND dept='ECE'
【讨论】:
以上是关于带有 Where 条件的 HSQLDB 问题的主要内容,如果未能解决你的问题,请参考以下文章
HSQLDB 中 WHERE 和 ORDER BY 的性能问题
带有 WHERE 条件和 INNER JOIN 的 SELECT 命令
使用带有标量函数的 where 条件与使用交叉应用和表值函数的 where 条件
带有 where 条件的 PL/SQL 更新查询作为带有一些空值的选择查询