'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
。
有什么区别:
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
。