'value'关键字在Oracle Select语句中的作用

The purpose of 'value' keyword in Oracle Select Statement

有什么区别:

select 'mari makan'  value   from dual ;

select 'mari makan'  from dual ;

从 Oracle table 查询时。

准确地说,上面语句中value关键字的目的是什么?

第一个命名列value。它通常使用 as:

编写
select 'mari makan' as value 
from dual ;

第二个没有给列一个用户定义的名称。

它们之间的区别在于,第一个查询为该列添加了别名,并为其指定了一个唯一的名称,而另一个则没有。

这是什么意思?

SELECT * FROM (
   SELECT 'asda' FROM dual
   UNION 
   SELECT 'asdasda' FROM dual
)
WHERE ??? = ??

此查询没有为列设置别名,如果您想在其他查询中使用此列,则会遇到问题。我认为默认是根据您选择的内容命名该列,这意味着它将被命名为 'asda' .

相对于:

SELECT * FROM (
   SELECT 'asda' Col1 FROM dual
   UNION 
   SELECT 'asdasda' as Col1 FROM dual
) WHERE Col1 <> 'asda'

这将允许您从外部查询调用此列。

标准是写成SELECT <Col> AS <New_Name>,但也可以写成AS