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数据库中MERGE语句的使用方法以及SQL查询中不同类型的表连接方式。下面将对这些知识点进行详细解析。 ### 一、MERGE语句 #### 1.1 介绍 MERGE语句是Oracle数据库中一种...
本文将深入探讨如何使用SQL语句在Oracle数据库中实现行转列。 ### 一、基本概念 在Oracle中,行转列可以通过多种方法实现,包括使用`CASE`语句、`PIVOT`操作符以及自定义函数等。其中,`CASE`语句是较为灵活且广泛...
ORACLE数据库系统是美国ORACLE公司(甲骨文)提供的以分布式数据库为核心的一组软件产品,是目前最流行的客户/服务器(CLIENT/SERVER)或B/S体系结构的数据库之一。 拉里•埃里森 就业前景 从就业与择业的...
从给定的文件信息中,我们可以提取出一系列与数据库操作相关的知识点,主要集中在SQL语言的使用上,包括数据检索、更新、数据类型处理以及高级查询技巧。以下是对这些知识点的详细解析: ### 1. DML(数据操纵语言...
- 常用分析函数开窗讲解:详细说明窗口函数的使用方法。 - listagg与小九九:展示如何使用listagg函数进行字符串的聚合。 12. 分层查询 - 树形查询:介绍如何在数据库中查询层次数据。 以上详细知识点是对...
SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言,其功能强大且广泛应用于各种数据库系统,如MySQL、Oracle、SQL Server等。本篇文章将深入探讨SQL语句的妙用和详细用法。 首先,我们要了解...
**题目背景:** ROWNUM 是一个伪列,用于返回表中行的编号。它常用于限制查询结果的行数,例如在分页查询中。 **示例代码:** ```sql -- 示例1:查询最高薪水的前三名员工 SELECT ROWNUM, LAST_NAME, SALARY FROM ...
142 3.6 Process组件 143 实例102 使用Process组件访问本地进程 143 3.7 Timer组件 145 实例103 使用Timer组件制作计时器 145 实例104 使用Timer组件显示当前系统时间 150 实例105 ...
实例207 连接Oracle数据库 8.2 添加数据 实例208 利用INSERT语句批量插入数据 实例209 利用SELECT INTO生成临时表 8.3 更新数据 实例210 批量修改数据 实例211 将指定字段数据为空的记录添上数据 8.4 删除...
实例207 连接Oracle数据库 8.2 添加数据 实例208 利用INSERT语句批量插入数据 实例209 利用SELECT INTO生成临时表 8.3 更新数据 实例210 批量修改数据 实例211 将指定字段数据为空的记录添上数据 8.4 删除...