[SQL]九九乘法表

Oracle

SELECT d.a, d.b, TRIM (REPLACE (d.d, ',', ' ')) e
  FROM (SELECT     c.a, c.b, SYS_CONNECT_BY_PATH (c.c, ',') d
              FROM (SELECT a.a, b.b,
                              TO_CHAR (a.a)
                           || ' * '
                           || TO_CHAR (b.b)
                           || ' = '
                           || LPAD (TO_CHAR (a.a * b.b), 2, ' ') c,
                           ROW_NUMBER () OVER (PARTITION BY a.a ORDER BY b.b)
                                                                           rn
                      FROM (SELECT     LEVEL b
                                  FROM DUAL
                            CONNECT BY LEVEL <= 9) b,
                           (SELECT     LEVEL a
                                  FROM DUAL
                            CONNECT BY LEVEL <= 9) a) c
        START WITH c.rn = 1
        CONNECT BY c.a = PRIOR c.a AND c.rn - 1 = PRIOR c.rn) d
 WHERE d.b = 9;