`
longo1202
  • 浏览: 10581 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

Oracle数据库中行转列以及Join用法总结

 
阅读更多

Oracle数据库中行转列以及Join用法是本文我们主要要介绍的内容,我们知道,在Oracle中行转列,可以利用decode函数来实现.我们假设有以下的学生表A,如下所示:

  ID NAME SUBJECT SCORE

  1 张三 语文 90

  2 张三 数学 80

  3 李四 语文 99

  4 李四 数学 78

  5 张三 英语 89

  现要转换成下表:

  NAME 语文 数学 英语

  张三 90 80 89

  李四 99 78

  这是一个典型的行转列过程,只需如下SQL即可:

  select NAME, sum(decode(SUBJECT,'语文', SCORE, null)), sum(decode(SUBJECT,'数学', SCORE, null)), sum(decode(SUBJECT,'英语', SCORE, null)) from A group by NAME;

  关于Join:

  1.inner join :

  select * from A a, B b where a.id = b.aId 与 select * from A a inner join B b on a.id = b.aId 是一样的;

  2. left join 与left outer join:

  select * from A a left join B b on (a.id = b.aId);

  此时,不管B中有没有对应A的记录,都会查出A表中的所有记录.

分享到:
评论

相关推荐

    Oracle数据库的学习总结二

    根据提供的文档内容,本文主要介绍了Oracle数据库中MERGE语句的使用方法以及SQL查询中不同类型的表连接方式。下面将对这些知识点进行详细解析。 ### 一、MERGE语句 #### 1.1 介绍 MERGE语句是Oracle数据库中一种...

    oracle行转列

    本文将深入探讨如何使用SQL语句在Oracle数据库中实现行转列。 ### 一、基本概念 在Oracle中,行转列可以通过多种方法实现,包括使用`CASE`语句、`PIVOT`操作符以及自定义函数等。其中,`CASE`语句是较为灵活且广泛...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。  拉里•埃里森  就业前景 从就业与择业的...

    网摘的部分数据库题目.txt

    从给定的文件信息中,我们可以提取出一系列与数据库操作相关的知识点,主要集中在SQL语言的使用上,包括数据检索、更新、数据类型处理以及高级查询技巧。以下是对这些知识点的详细解析: ### 1. DML(数据操纵语言...

    sql高级进阶

    - 常用分析函数开窗讲解:详细说明窗口函数的使用方法。 - listagg与小九九:展示如何使用listagg函数进行字符串的聚合。 12. 分层查询 - 树形查询:介绍如何在数据库中查询层次数据。 以上详细知识点是对...

    sql语句妙用,各种sql语句的详细用法与讲解

    SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言,其功能强大且广泛应用于各种数据库系统,如MySQL、Oracle、SQL Server等。本篇文章将深入探讨SQL语句的妙用和详细用法。 首先,我们要了解...

    Sql常见面试题(总结)

    **题目背景:** ROWNUM 是一个伪列,用于返回表中行的编号。它常用于限制查询结果的行数,例如在分页查询中。 **示例代码:** ```sql -- 示例1:查询最高薪水的前三名员工 SELECT ROWNUM, LAST_NAME, SALARY FROM ...

    C#.net_经典编程例子400个

    142 3.6 Process组件 143 实例102 使用Process组件访问本地进程 143 3.7 Timer组件 145 实例103 使用Timer组件制作计时器 145 实例104 使用Timer组件显示当前系统时间 150 实例105 ...

    Visual C++程序开发范例宝典(光盘) 第四部分

    实例207 连接Oracle数据库 8.2 添加数据 实例208 利用INSERT语句批量插入数据 实例209 利用SELECT INTO生成临时表 8.3 更新数据 实例210 批量修改数据 实例211 将指定字段数据为空的记录添上数据 8.4 删除...

    Visual C++程序开发范例宝典(光盘) 第八部分

    实例207 连接Oracle数据库 8.2 添加数据 实例208 利用INSERT语句批量插入数据 实例209 利用SELECT INTO生成临时表 8.3 更新数据 实例210 批量修改数据 实例211 将指定字段数据为空的记录添上数据 8.4 删除...

Global site tag (gtag.js) - Google Analytics