• Oracle学习之路-- 案例分析实现行列转换的几种方式


    注:本文使用的数据库表为oracle自带scott用户下的emp,dept等表结构.

                              

                              

        通过一个例子来说明行列转换:

    需求:查询每个部门中各个职位的总工资

        按我们最原始的思路可能会这么写:

                 

        这种结果虽然也能满足要求,但是极难阅读,我们使用oracle中的decode()函数进行改写:

           

        这样的话就实现了需求要求的功能,其实这就是一种行列转换的方式,这是通过decode()函数实现的,是oracle独有的一个函数,如果使用通用的sql语句,那么该如何实现上面的查询结果呢?当然我们可以通过嵌套子查询来实现,只不过麻烦一点,如下:

          

         以上,虽然实现了要求的功能,但我们感觉还是有些复杂,在oracle 11g之后,提供了pivot()函数,专门用来进行行列转换,该函数的使用格式如下:

                   

        通过此函数编写的代码:

          

  • 相关阅读:
    运算符,可变不可变数据类型
    基本的数据类型
    Python_day1
    day2_操作系统
    git fetch 命令
    Git branch 命令
    tmux常用命令
    转载-struts中logic标签使用
    转载-SVN常用命令
    javascript判断图片加载完成的三种方法
  • 原文地址:https://www.cnblogs.com/fingerboy/p/5661061.html
Copyright © 2020-2023  润新知