我正在使用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'
在这里我给了dept作为'abcdef',它仍然取出了与以前相同的记录,即使名字'abcdef'中没有这样的部门。
实际上,
我试过谷歌和Stackoverflow,但我找不到任何相关的答案。请帮我理解。
答案 0 :(得分:0)
这是HSQLDB的旧版本。您应该使用最新版本2.3.2。
使用旧版本,尝试将条件括在括号中,看看它是否正常工作
SELECT id, name, dept FROM students WHERE (name='Sachin' OR name='Prakash') AND dept='ECE'