2014-05-25 18 views
0

選擇任何工資< 3000從表emp ..please解釋選擇任何工資<3000從EMP table..please解釋

正如我所看到的答案它將返回薪水高於最低工資的所有記錄。

如果我錯了,請糾正我。

+0

它做了這樣的事情。我還沒有弄清楚爲什麼SQL有」any「,」all「和」some「關鍵字。通常更易於理解的方式來編寫這樣的查詢 –

回答

0

要麼你想:

select * from emp where sal < any(select sal from emp where sal<3000) 

結論:你把 '>',而不是 '<'

,或者你只是想:

select sal from emp where sal < 3000 
+0

第一個是一種隨機行選擇器嗎? –

+0

@Niemand:我認爲它會從「(從sal中選擇sal from sal <3000) 「 我相信完美的查詢將如下所示: 」select sal from emp where sal <= any(select sal from emp where sal <3000);「 – avisingh05

+0

@BoratSagdiyev運算符的任何方法」如果比較結果爲TRUE對於子查詢返回的列中的任何值,都爲TRUE。「 – Niemand

0

的任何語句返回所有對於所提供的查詢所返回的至少一個條目,比較評估爲真的那些entrys。因此,它會返回所有條目,但沒有條目的工作條款較低。

0

是的,它會返回大於3000的所有記錄,並且您是正確的。

select * from emp where sal < 3000