SQL趣题汇总(不定期更新)

小灰狼W 小灰狼W 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
曾经看到一个传说,数据库界有几位大师,可以用SQL语句来解数学难题。至于真假和案例,我也没见过,只有不明觉厉的份。但是可以肯定的是,SQL语句是个很强大的工具,除了平时工作中的那些枯燥的例子,还能实现很多功能。
以前在论坛里的时候,我特别喜欢做SQL题,一则可以锻炼思维,二则可以熟悉语法和相应函数的应用,在工作上遇到的时候会更加得心应手。那些趣题可能在平时没有太多的应用场景,拿来练手却是个不错的材料
刚才看到一篇帖子,就有了这个想法,开一篇帖来汇总这类趣题,大家一起来探讨探讨

大家喜欢的话,本帖将不定期更新

欢迎大家来补充。自己想到的,或是遇到的,都可以放上来。
注意是SQL趣题哦

来个以前写过的小九九,抛砖引玉一下
WITH tmp AS
( SELECT rownum rn FROM all_objects WHERE rownum<=9
)
SELECT a.rn,
SUBSTR(MAX( sys_connect_by_path(
CASE
WHEN a.rn*b.rn>=10
THEN SUBSTR(TRANSLATE(b.rn
||a.rn
||a.rn*b.rn,'1234567890','一二三四五六七八九十'),1,
CASE
WHEN mod(a.rn*b.rn,10)=0
OR a.rn *b.rn >20
THEN 3
ELSE 2
END)
||'十'
|| TRANSLATE(mod(a.rn*b.rn,10),'1234567890','一二三四五六七八九')
ELSE TRANSLATE(b.rn
||a.rn
||'='
||a.rn*b.rn,'123456789=','一二三四五六七八九得')
END ,',')),2) 口诀
FROM tmp A,
tmp b
WHERE a.rn >=b.rn
CONNECT BY prior a.rn=a.rn
AND prior b.rn =b.rn-1
START WITH b.rn =1
GROUP BY A.rn
ORDER BY 1;
...全文

相关推荐

评论 75
收藏 已收藏
分享
返回顶部
小灰狼W
Oracle 17,133 成员 55,258 内容