我是从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