区别是:
select 'mari makan' value from dual ;
和
select 'mari makan' from dual ;
从oracle表查询时。
准确地说,上述陈述中value
关键字的目的是什么?
答案 0 :(得分:2)
它们之间的区别在于第一个查询别名此列,并给它一个唯一的名称,而另一个没有。
这是什么意思?
fileID = fopen('text.txt');
C = textscan(fileID,'%d %d %d %d %d %d %d %f %f %f');
fclose(fileID);
此查询不对列进行别名,如果您想在其他查询中使用此列,则会出现问题。我认为默认是在您选择的内容后命名列,这意味着它将被命名为“asda'
相反:
SELECT * FROM (
SELECT 'asda' FROM dual
UNION
SELECT 'asdasda' FROM dual
)
WHERE ??? = ??
这将允许您从外部查询中调用此列。
标准是将其写为SELECT * FROM (
SELECT 'asda' Col1 FROM dual
UNION
SELECT 'asdasda' as Col1 FROM dual
) WHERE Col1 <> 'asda'
,但也可以用SELECT <Col> AS <New_Name>
编写。
答案 1 :(得分:1)
第一个命名列value
。通常使用as
:
select 'mari makan' as value
from dual ;
第二个没有为列提供用户定义的名称。