如何从表中选择所有列以及ROWNUM等其他列?

nts*_*sue 62 sql oracle select

在Oracle中,可以执行一个SELECT语句,将行号作为结果集中的列返回.

例如,

SELECT rownum, column1, column2 FROM table
Run Code Online (Sandbox Code Playgroud)

收益:

rownum       column1       column2
1            Joe           Smith
2            Bob           Jones

但我不想手动指定每一列.我想做的事情如下:

select rownum,* from table
Run Code Online (Sandbox Code Playgroud)
rownum       column1       column2       column3       column4
1            Joe           Smith         1             2
2            Bob           Jones         3             4

有任何想法吗?

Dav*_*sta 109

使用表的名称限定*:

select rownum, table.* from table
Run Code Online (Sandbox Code Playgroud)


gab*_*ous 8

戴夫的回答很棒,我想补充一点,也可以通过将通配符作为第一列来做到这一点:

select *,rownum from table
Run Code Online (Sandbox Code Playgroud)

工作,但以下不会:

select rownum,* from table
Run Code Online (Sandbox Code Playgroud)

我已经在 MySQL 上进行了测试。

  • "*tested on MySQL*" - 如果不使用表名 (`table.*`),这将不适用于提出此问题的 Oracle。 (17认同)