一条SQL生成9*9乘法表

来源:互联网 发布:仿快乐赚php系统源码 编辑:程序博客网 时间:2024/06/08 01:00

MySQL语法:

SELECT
  CASE  WHEN  a < 1 THEN '' ELSE  CONCAT('1*',a,'=',a*1) END   AS   '1',
  CASE  WHEN  a < 2 THEN '' ELSE  CONCAT('2*',a,'=',a*2) END   AS   '2',
  CASE  WHEN  a < 3 THEN '' ELSE  CONCAT('3*',a,'=',a*3) END   AS   '3',
  CASE  WHEN  a < 4 THEN '' ELSE  CONCAT('4*',a,'=',a*4) END  AS   '4',
  CASE  WHEN  a < 5 THEN '' ELSE  CONCAT('5*',a,'=',a*5) END   AS   '5',
  CASE  WHEN  a < 6 THEN '' ELSE  CONCAT('6*',a,'=',a*6) END   AS   '6',
  CASE  WHEN  a < 7 THEN '' ELSE  CONCAT('7*',a,'=',a*7) END  AS   '7',
  CASE  WHEN  a < 8 THEN '' ELSE  CONCAT('8*',a,'=',a*8) END   AS   '8',
  CASE  WHEN  a < 9 THEN '' ELSE  CONCAT('9*',a,'=',a*9) END   AS   '9'
  FROM   ( 
  SELECT   1   AS   a 
  UNION   ALL 
  SELECT   2 
  UNION ALL
  SELECT   3
  UNION   ALL 
  SELECT   4 
  UNION ALL
  SELECT   5
  UNION   ALL 
  SELECT   6 
  UNION ALL
  SELECT   7
  UNION   ALL 
  SELECT   8 
  UNION ALL
  SELECT 9
  )   AS   t1

 

Oracle语法:

SELECT
  CASE  WHEN  a < 1 THEN '' ELSE  '1*'||a||'='||a*1 END   AS  "1",
  CASE  WHEN  a < 2 THEN '' ELSE  '2*'||a||'='||a*2 END   AS  "2",
  CASE  WHEN  a < 3 THEN '' ELSE  '3*'||a||'='||a*3 END   AS  "3",
  CASE  WHEN  a < 4 THEN '' ELSE  '4*'||a||'='||a*4 END  AS   "4",
  CASE  WHEN  a < 5 THEN '' ELSE  '5*'||a||'='||a*5 END   AS  "5",
  CASE  WHEN  a < 6 THEN '' ELSE  '6*'||a||'='||a*6 END   AS  "6",
  CASE  WHEN  a < 7 THEN '' ELSE  '7*'||a||'='||a*7 END  AS   "7",
  CASE  WHEN  a < 8 THEN '' ELSE  '8*'||a||'='||a*8 END   AS  "8",
  CASE  WHEN  a < 9 THEN '' ELSE  '9*'||a||'='||a*9 END   AS  "9"
  FROM   ( 
  SELECT LEVEL a FROM DUAL connect BY LEVEL<10
  )

 

 

原创粉丝点击