在sql中的*后面设置别名

在sql中的*后面设置别名,sql,oracle,wildcard,Sql,Oracle,Wildcard,有没有办法为ORACLE SQL中星号(*)后面的不同列创建别名 是否有办法在*之后设置别名 SELECT * INDEX_1 AS INDECIES FROM TABLE WHERE INDEX_1 = 5 AND INDEX_2 = 6 ; 没有 中SELECT语句的SELECT\u列表的语法如下: 这意味着,要么是星号,要么是行源限定的星号和离散列。*之后不可能有c_别名令牌 您可以做的是将星号和字段列表组合在一起,即使两个部分引用同一个表,如下所示: SELECT TA1.*,

有没有办法为ORACLE SQL中星号(*)后面的不同列创建别名

是否有办法在*之后设置别名

SELECT * INDEX_1 AS INDECIES
FROM TABLE 
WHERE INDEX_1 = 5
AND INDEX_2 = 6
; 
没有

SELECT
语句的SELECT\u列表的语法如下:

这意味着,要么是星号,要么是行源限定的星号和离散列。*之后不可能有c_别名令牌

您可以做的是将星号和字段列表组合在一起,即使两个部分引用同一个表,如下所示:

SELECT
  TA1.*,
  TA1.Column1 AS ColumnX
FROM Table1 TA1
不鼓励使用星号来标记。为了方便临时查询,可以使用它。

不过,也可以使用一点“混合”:行源限定星号和字段列表(即非或),例如

SQL> select d.*, e.ename
  2  from dept d, emp e
  3  where e.deptno = d.deptno
  4    and d.deptno = 10;

    DEPTNO DNAME          LOC           ENAME
---------- -------------- ------------- ----------
        10 ACCOUNTING     NEW YORK      KING
        10 ACCOUNTING     NEW YORK      CLARK
        10 ACCOUNTING     NEW YORK      MILLER
        10 ACCOUNTING     NEW YORK
        10 ACCOUNTING     NEW YORK

SQL>

如果使用的是SQLPLUS,则可以使用COLUMN命令设置任何列的显示标题,无论是使用星号还是按名称选择

例如。 第123列标题为“账号”


这里是SQLPLUS的参考:

答案是:否(如果只有一列,为什么不键入?),我只是想看看是否可以更改一列的名称,同时仍然显示其他每一列。我知道这不太实用,但我只是在学习。我不确定这是否是您要寻找的,但您可以在表名上设置别名,从而在所有引用的字段上设置别名,如alias.field,因为将
SELECT*
留在表中而不是显式命名所有列是一个坏习惯(例外:原型设计,
EXISTS()
checks)为什么需要此选项?
SELECT*
用于惰性临时查询。良好的编程实践是指定每一列。
SELECT
  TA1.*,
  TA1.Column1 AS ColumnX
FROM Table1 TA1
SQL> select d.*, e.ename
  2  from dept d, emp e
  3  where e.deptno = d.deptno
  4    and d.deptno = 10;

    DEPTNO DNAME          LOC           ENAME
---------- -------------- ------------- ----------
        10 ACCOUNTING     NEW YORK      KING
        10 ACCOUNTING     NEW YORK      CLARK
        10 ACCOUNTING     NEW YORK      MILLER
        10 ACCOUNTING     NEW YORK
        10 ACCOUNTING     NEW YORK

SQL>