`

oracle sql 笔记

阅读更多

分页sql:

select b.*  from (

       select a.*, rownum rn from t_dup  a where rownum< = maxRowNum

) b where b.rn > minRowNum

 maxRowNum:最大的数据条数

 minRowNum:最小的数据条数

 

dbms_random:

dbms_random是一个可以生成随机数值或者字符串的程序包
最常用的方法
dbms_random.value():返回的是number类型,并且返回的值介于1和0之间,并实现排序
dbms_random.random():返回的是BINARY_INTEGER类型

 

TRUNC:
对数字
TRUNC(89.985,2)=89.98
TRUNC(89.985)=89
TRUNC(89.985,-1)=80
对日期:
TRUNC(TO_DATE('1999-12-25','yyyy-mm-dd'),'yyyy')=  1999-1-1
TRUNC(TO_DATE('1999-12-25','yyyy-mm-dd'),'mm')=  1999-12-1   
TRUNC(TO_DATE('1999-12-25','yyyy-mm-dd'),'dd')=  1999-12-25

 

decode:
decode(a.q, 1, a.bal, 2,b.bal,0....) :如果a.q的值为1则显示a.bal,为2则显示b.bal,否则为0

 

row_number() over():
select username,mobile,row_number() over (order by mobile) as num from SYS_USER,其结果为
username mobile  num
tt             2               1
rr             4               2
ee           4               3

cc            8               4
tt 1          23              5
根据mobile的值排序,得到排序的行号
row_number() over (PARTITION BY userid order by mobile)根据主键userid分组。这样得到的结果

全部为1

 

rank() over():
该函数和row_number()over()函数的使用时相同的,主要区别为rank表示等级。举例

select username,mobile,rank() over (order by mobile) as num from SYS_USER,其结果为
username mobile  num
tt             2               1
rr             4               2
ee           4               2
cc            8               3
tt1          23              4

 

start with...connect by prior:
其基本语法是:
select ... from tablename start with 条件1
connect by 条件2
where 条件3;
条件1 是根结点的限定语句,当然可以放宽限定条件,以取得多个根结点,实际就是多棵树。
条件2 是连接条件,其中用PRIOR表示上一条记录,比如 CONNECT BY PRIOR org_id = parent_id就是

说上一条记录的org_id 是本条记录的parent_id,即本记录的父亲是上一条记录。
条件3 是过滤条件,用于对返回的所有记录进行过滤。

 

sys_connect_by_path(column,';'):
该函数必须和connect by连用,该函数实现将根据父节点条件得到column内容,并以;的格式分开的形

式显示出来

 

substr:
substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', -6, 3) would return 'The'

 

instr:

我们经常这样使用:从一个字符串中查找指定子串的位置

select instr('yuechaotianyuechao','ao') position from dual;---6
从第7个字符开始搜索
select instr('yuechaotianyuechao','ao', 7) position from dual;--17
从第1个字符开始,搜索第2次出现子串的位置
select instr('yuechaotianyuechao','ao', 1, 2) position from dual;--17
从倒数第1个字符开始,搜索第2次出现子串的位置
select instr('yuechaotianyuechao','ao', -1, 2) position from dual;--6

 

insert all:

insert all
when 条件1 then
into 表 values(值)
when 条件2 then
into 表 values(值)
select col from 表
按条件插入不同的表中

 

merge into:

USING (SELECT 'the code' code, 'the name' NAME FROM dual) b
ON (a.code = b.code)
WHEN matched THEN   //如果匹配则更新
  UPDATE SET a.NAME = b.NAME
WHEN NOT matched THEN //否则插入数据
  INSERT (code, NAME) VALUES (b.code, b.NAME);
merge into 解决用B表跟新A表数据,如果A表中没有,则把B表的数据插入A表,使用与大数据量

 

Lag和Lead:

LagLead函数如可以在一次查询中取出同一字段的前N行的数据和后N行的值

l如:

select card_code,bal,lead(bal,1) over(partition by card_code order by bal)  as change_val from  T_CHANGE_LC

card_code  bal  change_val

001             14              40

001             40              48

001             48              49

001             49

002             20              51 

002             51              58

002            58

 

select card_code,bal,lag(bal,1) over(partition by card_code order by bal)  as change_val from  T_CHANGE_LC

card_code  bal  change_val

001             14             

001             40              14

001             48              40

001             49             48

002             20 

002             51              20

002            58             51

分享到:
评论

相关推荐

    oracle_sql笔记

    Oracle SQL是数据库管理员和开发人员在Oracle数据库系统中进行数据查询和管理的重要工具。这篇笔记主要涵盖了Oracle SQL的...这两份“Oracle SQL笔记”文档应包含了上述各个方面的详细解释和实例,值得仔细阅读和学习。

    OracleSQL笔记

    ### Oracle SQL 笔记知识点详解 #### 一、SQLPlus 命令及环境变量 Oracle_sid - **SQLPlus 命令位置**:在 Oracle 安装目录下的 `bin` 文件夹中,可以通过 SQLPlus 来执行 SQL 命令。 - **Oracle_sid 环境变量**:...

    最全的ORACLE-SQL笔记

    【Oracle SQL笔记详解】 Oracle SQL是用于访问和操作Oracle数据库的强大工具,涵盖了各种查询、更新和管理数据的方法。以下是对笔记中提及的一些关键知识点的详细解释: 1. **登录Oracle数据库**:通常以超级管理...

    Oracle SQL笔记

    Oracle SQL笔记概述 Oracle SQL是Oracle数据库管理系统中的结构化查询语言,用于检索、操作和管理存储在Oracle数据库中的数据。本笔记将通过实例的方式,详细讲解Oracle SQL的基础和高级概念,帮助初学者深入理解并...

    oracleSQL笔记

    ### Oracle SQL 笔记知识点详解 #### 一、表的创建与定义 在 Oracle SQL 中,`CREATE TABLE`语句用于创建新表。通过该语句可以定义表的结构,包括列名、数据类型以及列上的约束等。 ##### 示例: ```sql CREATE ...

    Oracle SQL笔记.pdf

    根据提供的文件信息,我们可以归纳出一系列重要的Oracle SQL知识点,这些知识点涵盖了从基本的SQL概念到高级的数据库管理技术。下面是对这些知识点的详细说明: ### 1. SQL介绍 #### 结构化查询语言 (Structured ...

    (转)最全的SQL(Oracle)笔记集录

    【标题】:“(转)最全的SQL(Oracle)笔记集录” 这篇资源是一个全面的SQL,特别是针对Oracle数据库的学习笔记集合。Oracle是世界上最广泛使用的数据库管理系统之一,它提供了丰富的功能来处理各种类型的数据和满足...

    精通 ORACLE SQL高级编程 学习笔记

    精通Oracle SQL【第2版】ORACLE SQL高级编程【第二版】学习笔记

    oracle sql 读书笔记

    sql fundament 读书笔记 oracle 原厂 培训 金领DBA

    oracle-SQL笔记

    Oracle SQL是用于管理和操作Oracle数据库的关键工具,涵盖了数据查询、数据操纵、数据定义以及数据控制等多个方面。在本文中,我们将深入探讨Oracle SQL中的数据控制语句(DCL)、数据定义语句(DDL)以及一些基本的...

    Oracle SQLServer数据库 学习笔记

    Oracle和SQL Server是两大主流的关系型数据库管理系统,广泛应用于企业级的数据存储和处理。这篇学习笔记将深入探讨这两个系统的概念、特性和应用。 一、Oracle数据库系统 Oracle数据库是由甲骨文公司开发的一款...

    Oracle学习笔记 PDF

    ### Oracle学习笔记知识点详解 #### 一、Oracle简介 Oracle是一家知名的软件公司,以其数据库管理系统闻名全球。该公司成立于1977年,总部位于美国加利福尼亚州。Oracle不仅提供数据库解决方案,还涉及中间件、...

    数据库SQL oracle的笔记,比较全面的

    数据库SQL Oracle笔记全面解析 在IT领域,数据库是存储、管理与检索数据的核心工具,而Oracle作为世界上最流行的商业数据库管理系统之一,其强大的功能和广泛的应用使得掌握Oracle SQL变得至关重要。本笔记将涵盖...

    李兴华Oracle全部笔记

    其次,笔记可能会深入到Oracle的高级特性,比如PL/SQL编程,这是一种专为Oracle设计的过程化编程语言,用于创建存储过程、函数、触发器等。此外,可能还会涵盖数据库事务处理、并发控制和锁机制,这些都是保证数据...

    Oracle 10g sql 学习笔记

    Oracle 10g SQL 学习笔记涵盖了Oracle数据库的基础知识,包括版本信息、数据库系统特点、关系型数据库结构、SQL语言、操作环境以及常见的数据库操作。以下是对这些知识点的详细说明: 1. **Oracle 9i基础知识**: ...

    很有价值的oracle SQL编程笔记

    Oracle SQL编程是数据库管理的重要组成部分,特别是在Oracle数据库系统中,SQL与PL/SQL结合使用,大大增强了数据库操作的灵活性和效率。以下是一些关键知识点的详细说明: 1. **PL/SQL**: PL/SQL(Procedural ...

    Oracle学习笔记精华版

    笔记可能涉及索引的创建和管理、SQL调优(如使用EXPLAIN PLAN分析查询执行计划)、数据库统计信息的收集、存储优化以及使用Oracle的性能监控工具(如AWR和ASH报告)。 此外,Oracle的安全管理包括用户权限管理、...

    oracle学习笔记

    oracle sql笔记。

    oracle培训笔记2

    在"Oracle培训笔记2"中,我们可以看到一系列的课程涵盖了XML基础和多行函数的应用,这些都是Oracle数据库管理和开发中的关键知识点。 XML(可扩展标记语言)在Oracle中的应用非常广泛,特别是在数据交换和存储非...

Global site tag (gtag.js) - Google Analytics