我是從DB,研究包時我看到下面的查詢:全選...用Oracle SQL
SELECT ALL TABLE1.CODE, nvl(TABLE1.EXPLANATION, '') as Explanation
FROM TABLE1;
我找不到什麼是ALL
在SELECT
語句用法,我都知道,使用ALL
在WHERE
具有AND
的含義。
請問您能爲我清楚嗎?
我是從DB,研究包時我看到下面的查詢:全選...用Oracle SQL
SELECT ALL TABLE1.CODE, nvl(TABLE1.EXPLANATION, '') as Explanation
FROM TABLE1;
我找不到什麼是ALL
在SELECT
語句用法,我都知道,使用ALL
在WHERE
具有AND
的含義。
請問您能爲我清楚嗎?
由於documentation指定:
ALL
指定
ALL
如果你想返回選擇的數據庫中的所有行,包括重複的所有副本。默認值是ALL
。
如果有任何其他數據庫支持SELECT ALL
,我不記得副手。我從來沒有見過它在現實世界中使用。
'ALL'被忽略。它在某些數據庫中提供了一個與「select distinct」並行的提供。 –
除了質疑'ALL',我還會問'nvl'函數調用的目的是什麼。通常我們調用'nvl'來在輸入爲null時替換一個值,但在這個代碼片段中,輸入被替換爲'null'(Oracle將空字符串視爲'null'),所以再次 - 什麼意思這種叫做'nvl'的? – mathguy
@mathguy我真的不知道爲什麼nvl在這裏使用,可能是一些其他系統與此查詢交互需要的結果是不是null或類似的東西 – Hatik