今天兄弟们的帮助,数据库,具有数据如下面的表:

no  name

1    a

2    b

3    c

4    d

怎样用一个sql显演示样例如以下结果:

ab

ac

ad

bc

bd

cd

对于这样的构造数据,是分析函数的强项。以下来做个试验:

create table t (no number,name varchar(2));

insert into t values(1,'a');

insert into t values(2,'b');

insert into t values(3,'c');

insert into t values(4,'d');

commit;



实现1:

select decode(h2, '', '', h1 || h2) b,

       decode(h3, '', '', h1 || h3) c,

       decode(h4, '', '', h1 || h4) d

  from (select name h1,

               lead(name, 1) over(order by name) h2,

               lead(name, 2) over(order by name) h3,

               lead(name, 3) over(order by name) h4

          from t) ;

B    C    D

---- ---- ----

ab   ac   ad

bc   bd

cd



实现2:相对实现1对于行进行了转换

with tt as(

select name h1,

               lead(name, 1) over(order by name) h2,

               lead(name, 2) over(order by name) h3,

               lead(name, 3) over(order by name) h4

          from t

)

select * from (select decode(h2, '', '', h1 || h2) b from tt

union

select decode(h3, '', '', h1 || h3) c from tt

union

select decode(h4, '', '', h1 || h4) d from tt)

where b is not null;

B

----

ab

ac

ad

bc

bd

cd

实现3:也能够不用分析函数

select a.name || b.name from t a, t b where a.no < b.no;

附录,一句SQL实现9*9乘法口诀:

select r1 || '*' || r1 || '=' || r1 * r1 A,

decode(r2, '', '', r2 || '*' || r1 || '=' || r2 * r1) b,

decode(r3, '', '', r3 || '*' || r1 || '=' || r3 * r1) C,

decode(r4, '', '', r4 || '*' || r1 || '=' || r4 * r1) D,

decode(r5, '', '', r5 || '*' || r1 || '=' || r5 * r1) E,

decode(r6, '', '', r6 || '*' || r1 || '=' || r6 * r1) F,

decode(r7, '', '', r7 || '*' || r1 || '=' || r7 * r1) G,

decode(r8, '', '', r8 || '*' || r1 || '=' || r8 * r1) H,

decode(r9, '', '', r9 || '*' || r1 || '=' || r9 * r1) I

from (select level r1,

lag(level, 1) over(order by level) r2,

lag(level, 2) over(order by level) r3,

lag(level, 3) over(order by level) r4,

lag(level, 4) over(order by level) r5,

lag(level, 5) over(order by level) r6,

lag(level, 6) over(order by level) r7,

lag(level, 7) over(order by level) r8,

lag(level, 8) over(order by level) r9

from dual

connect by level < 10);

使用lead分析功能相似的结构9*9乘法口诀功能的更多相关文章

  1. 【知识强化】第五章 中央处理器 5.1 CPU的功能和基本结构

    那么在前四章我们已经把数据的表示和运算,存储系统和指令系统都已经给大家讲完了.那么从这一章开始,我们将要讲解中央处理器的内容.那么这一部分内容我们就进入到我们计算机组成原理的一个深水区,它是我们计算机 ...

  2. [阿里DIN] 深度兴趣网络源码分析 之 整体代码结构

    [阿里DIN] 深度兴趣网络源码分析 之 整体代码结构 目录 [阿里DIN] 深度兴趣网络源码分析 之 整体代码结构 0x00 摘要 0x01 文件简介 0x02 总体架构 0x03 总体代码 0x0 ...

  3. Week2 Teamework from Z.XML 软件分析与用户需求调查(二)应用助手功能评测

    评测人:薛亚杰 周敏轩. 说明:言辞激烈,请勿介意. 软件使用概述 我们团队这次评测的必应助手是必应缤纷桌面的一个小功能,根据评测人员试用几天后发现,它的作用大概就是能够用一种看上去比较生动的形式来给 ...

  4. 2019微软Power BI 每月功能更新系列——2月Power BI 新功能学习

    哈喽,小伙伴们,我是小悦悦,好久不见~ 春节假期结束,新一轮的工作开始,祝大家猪年如意,开工大吉! 今天小悦悦带你走入猪年学习的正确打开方式——Power BI新一年的持续更新学习!   Power ...

  5. 微软Power BI 每月功能更新系列——4月Power BI 新功能学习

    本月Power BI Desktop的更新,除了常规的视觉和数据连接器改进之外,还有两个非常大的功能改进,交互式的报表.问答,用户直接在Desktop可以询问有关的数据问题,面对层出不穷的用户需求,这 ...

  6. 微软Power BI 每月功能更新系列——9月Power BI 新功能学习

    Power BI Desktop 9月新功能摘要 Power BI 9月更新如期而至,这一次Power BI 又推出了新功能——聚合预览,它可在内存中无缝地存储汇总值,大大提高报告的性能.另外本月还包 ...

  7. 个性化推荐产品功能的设计和B端产品的功能策划方式

    宜信科技中心财富管理产品部负责人Bob,与大家一起聊聊个性化推荐产品功能的设计和B端产品的功能策划方式. 拓展阅读:回归架构本质,重新理解微服务|专访宜信开发平台(SIA)负责人梁鑫 智慧金融时代,大 ...

  8. 功能更新 | medini analyze — 符合ISO 26262的功能安全平台工具

            汽车电子电气系统的功能安全随着智能驾驶.新能源等新兴技术的发展而愈发受到重视.在国际功能安全标准ISO 26262的落地过程中遇到了很多的棘手问题:如何正确而有效地实施HARA以得到合 ...

  9. .net Mvc文件下载的功能,大文件下载完成之后修改数据库功能

    原文:.net Mvc文件下载的功能,大文件下载完成之后修改数据库功能 我服务器上文件只能下载一次,下载了之后就不能下载了,大文件或网速不好时,可能服务端文件流发送完了,客户端还没下载完,导致下载失败 ...

随机推荐

  1. 《SPA设计与架构》之MV*框架

    原文 简书原文:https://www.jianshu.com/p/39f8f0aefdc2 大纲 1.认识MV*框架 2.传统UI设计模式 3.对框架的本质认识——框架有效性和框架分类 4.MV*基 ...

  2. ViewChild与ContentChild的联系和区别

    原文 https://www.jianshu.com/p/5ab619e576ea 大纲 1.认识ViewChild 2.认识ContentChild 3.ViewChild与ContentChild ...

  3. 命令行运行python模块时提示包找不到的问题

    庄稼人不是专职python开发的道友.尽管与python相识已多年,可惜相识不相知,仅仅是偶尔借助pydev写一些简单的小工具. 多年来.一直困惑于这样一个问题:相同的project.相同的代码,使用 ...

  4. Android 在Service里面启动Activity

    直接在代码: Intent dialogIntent = new Intent(getBaseContext(), YourActivity.class); dialogIntent.addFlags ...

  5. Linux基本命令(一)

    目标 熟练使用 Linux常用的命令 ls clear cd pwd mkdir touch rm cp mv tree chmod find grep 重定向 软连接.硬链接 压缩 shutdown ...

  6. vs 2013 常用快捷键及常见问题的解决

    1. 代码编辑 关闭当前文档:ctrl + F4 打开光标所在位置的文档:ctrl + G(shift + g) 返回上次编辑的位置:ctrl + -(键盘数字键 0 后的那个按键) 移动光标所在的行 ...

  7. 关于MD5值加密算法

    public static string getMD5(string str)//该方法获取字符串的md5加密 通经常使用来验证数据     {         System.Security.Cry ...

  8. 设置statusBar状态栏颜色

    设置statusBar的[前景部分] 简单来说,就是设置显示电池电量.时间.网络部分标示的颜色, 这里只能设置两种颜色: 默认的黑色(UIStatusBarStyleDefault) 白色(UISta ...

  9. [Flow] The Fundamentals of Flow

    Install: yarn global add flow-typed /*get type defination*/ yarn add flow-bin -D For example you hav ...

  10. Java: Map里面的键和值可以为空吗?

    在Java中,Map里面的键和值可以为空吗?我们先来看一个例子: private static void TestHashMap() { // TODO Auto-generated method s ...