2014-03-05 21 views
0

我在使用HSQLDB 1.8.10的Eclipse SWT中工作。我嘗試的查詢是:Where條件下的HSQLDB問題

SELECT id, name, dept FROM students WHERE name='Sachin' OR name='Prakash' AND dept='ECE'

理想的情況下,上述查詢應取在歐洲經委會部門所有學生的名字要麼薩欽或普拉卡什。但是查詢並沒有考慮第三種情況,即它也從其他部門取代學生,而不僅僅是ECE。而且,如果我問爲:

SELECT id, name, dept FROM students WHERE name='Sachin' OR name='Prakash' AND dept='abcdef'

下面筆者就給部門爲「ABCDEF」仍是獲取相同的記錄作爲即使在名稱「ABCDEF」沒有這樣的部門了。

其實,

  1. HSQLDB如何與工作條件在哪裏?
  2. 我們需要做一些事情,如果我們在同一個查詢

我曾嘗試谷歌和#2同時使用「AND」和「OR」的條件,但我找不到任何相關的答案。請幫我理解。

回答

0

這是HSQLDB的舊版本。你應該使用最新的版本2.3.2。

與舊版本,嘗試括在括號中的條件,看看它是否工作正常

SELECT id, name, dept FROM students WHERE (name='Sachin' OR name='Prakash') AND dept='ECE'