You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何Oracle中不带别名的SELECT <列名> AS语法合法?

Oracle SQL中SELECT <列名> AS省略别名的语法说明

先看实际测试的SQL语句:

create table a(c1 number null, c2 number null);
select c1 as, c2 as from a;

执行以上语句不会报错,查询结果的列名默认沿用原列名C1和C2。

按照Oracle SQL参考文档的语法定义,SELECT列表项的格式为expr [ [ AS ] c_alias ],规则是:

  • [AS] c_alias整体可选;
  • 如果指定[AS] c_alias,AS可选,但别名c_alias是必填项。

但实际Oracle数据库允许仅写AS而省略别名的写法,这属于Oracle对标准语法的扩展。此时AS相当于冗余关键字,不会改变列的别名,效果和直接写select c1, c2 from a;完全一致。

目前Oracle官方文档的语法定义部分未专门针对这个情况做补充说明,但这是数据库实际支持的合法语法。

内容的提问来源于stack exchange,提问作者yaoweijq

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 16:32:02