一条SQL生成九九乘法表

本文介绍了一种使用SQL查询生成九九乘法表的方法,通过WITH子句、sys_connect_by_path函数等高级特性实现。具体展示了如何通过层级递归查询(CONNECT BY)构建有序的乘法表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

with t as (select level as n from dual connect by level <=9)
  
select sys_connect_by_path(b.n || '*' || a.n || '=' || a.n * b.n, ' 'as 九九乘法表
    
from t a, t b
      
where a.n >= b.n and level = a.n
        start 
with b.n=1
          connect 
by a.n=prior a.n and b.n=prior b.n+1;

 绝吧?用到了不少东东:WITH、sys_connect_by_path, start with ... connect by ...

执行结果:

SQL> with t as (select level as n from dual connect by level <=9)
  
2    select sys_connect_by_path(b.n || '*' || a.n || '=' || a.n * b.n, ' 'as 九九乘法表
  
3      from t a, t b
  
4        where a.n >= b.n and level = a.n
  
5          start with b.n=1
  
6            connect by a.n=prior a.n and b.n=prior b.n+1;

九九乘法表
--------------------------------------------------------------------------------
 1*1=1
 
1*2=2 2*2=4
 
1*3=3 2*3=6 3*3=9
 
1*4=4 2*4=8 3*4=12 4*4=16
 
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
 
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
 
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
 
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
 
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

9 rows selected

SQL
> 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值