建表并插入记录
CREATE TABLE t_number(n INTEGER PRIMARY KEY);
INSERT INTO t_number VALUES (0);
INSERT INTO t_number VALUES (1);
INSERT INTO t_number VALUES (2);
INSERT INTO t_number VALUES (3);
INSERT INTO t_number VALUES (4);
INSERT INTO t_number VALUES (5);
INSERT INTO t_number VALUES (6);
INSERT INTO t_number VALUES (7);
INSERT INTO t_number VALUES (8);
INSERT INTO t_number VALUES (9);
实现SQL:
SELECT hundred.n * 100 + ten.n * 10 + one.n AS n
FROM t_number hundred
CROSS JOIN t_number ten
CROSS JOIN t_number one
ORDER BY n
执行结果:
查询返回了一个0~999的数字序列。
显然,我们可以通过更多的自连接生成更大的数字序列。
还有其他生成序列的方法:
例如connect by结合rownum实现
select rownum from dual connect by rownum<=10;
使用level实现
select level from dual connect by level<=10;