如何使用sql查询在一列中打印1,2,3..10数字

时间:2017-04-26 09:47:50

标签: sql

我正在使用11g RDBMS,并在一次采访中询问我使用SQL查询打印1到10个数字如果使用PLSQL则不使用循环,意味着使用选择查询他希望看到结果。

像表一样:      1      2      3

1 个答案:

答案 0 :(得分:1)

以下两种方法都是SQL Server语法,但您会发现类似其他RDBM的方法:

- ROW_NUMBER()

SELECT TOP 10 ROW_NUMBER() OVER(ORDER BY (SELECT NULL)) FROM sys.objects; --any table with more rows than 10 will do

- 递归CTE

WITH recursiveCounter AS
(
    SELECT 1 AS Nr
    UNION ALL
    SELECT r.Nr+1 
    FROM recursiveCounter AS r
    WHERE r.Nr<10
) 
SELECT * FROM recursiveCounter