在sql中的*后面设置别名
有没有办法为ORACLE 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.*,
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>