oracle
hepy11
这个作者很懒,什么都没留下…
展开
-
个人笔记1.清洗会用
1.id||'_'||ROW_NUMBER()OVER(PARTITION BY id ORDER BY company,job,work_start_date,work_end_date) AS pk_id --row_number 分析函数排序、分组去重/字段拼接//||拼接符|| 2.数值清洗——填充空格(.replace(' ','')REPLACE(STR1,STR2,STR3) str3替换str1中出现的所有str2,返回新的字符串,如果有某个参数为NULL,此函数返...原创 2020-12-02 17:03:23 · 239 阅读 · 0 评论 -
同步数据:把一个表/结果集中的数据同步到另外的表
同步数据:把一个表/结果集中的数据同步到另外的表业务系统表的数据 --------------> ODS层 -----------> DW层 ----------------->DM层1、通过存储过程/工具来实现2、分为 全量同步(全量抽取) 和 增量同步(增量抽取)-----------全量同步:逻辑:用源表的数据直接覆盖目标表实现的逻辑:先将 目标表中的数据清空,然后查询源表的数据,插入到目标表中--比如:全量同步emp表的数据到EMP_TAG表--第一步:创建目.原创 2020-12-01 11:32:36 · 1799 阅读 · 1 评论 -
----几个判断赋值函数
----------几个判断赋值函数NVL(参数1,参数2):判断参数1是否为空。如果不为空,则取参数1的值,如果为空,则取参数2的值参数1是目标字段,参数2是一个具体的值--需要注意:参数2的值的类型要跟参数1的类型一致--比如:SELECTE.*,NVL(E.COMM,0)FROMEMPE;NVL2(参数1,参数2,参数3):判断参数1是否为空。如果不为空,则取参数2的值,如果为空,则取参数3的值...原创 2020-12-01 11:24:04 · 455 阅读 · 0 评论 -
PLSQL:一种编程语言
PLSQL:一种编程语言,针对的对象是数据库中的数据(表,表里的数据等等)--在sql中能写的东西,在plsql也都可以写--PL/SQL对大小写不敏感。(现在学习时候得标准:所有的字母都大写)--语法结构:DECLARE--声明/定义的地方(变量、常量、游标)(非必须)BEGIN--写逻辑/写操作的地方(必须)EXCEPTION--处理异常的地方(非必须)END;--需要注意的是:1、单词不要写错了2、如果要使用变量,那么一定要提前声明3、每写完一...原创 2020-12-01 11:15:52 · 701 阅读 · 0 评论 -
orcale 语句基本语法缩写
--语 句 功 能-- 查询语法格式SELECT --从数据库表中检索数据行和列FROM --数据来自哪些表WHERE -- 哪些条件AND -- 和 其他条件OR -- 或 其他条件GROUP BY -- 按条件分组HAVING -- 分组后按条件过滤ORDER BY -- 按条件排序ASC -- 升序DESC -- 降序--关联查询INNER JOIN -- 内关联LEFT JOIN -- 左外关联RIGHT JOIN -- 右外关联FULL OUTER JOIN --.原创 2020-12-01 10:45:28 · 217 阅读 · 0 评论 -
oracle 数据库基础
1、数据库:放数据的仓库。我们今天装的以及接下来学习的叫做oracle数据库oracle数据库里的数据是以表的形式存放数据的2、我们用的是SCOTT用户,它下面有自带4张表:EMP(员工信息表)、DEPT(部门表)、SALGRADE(工资等级表)、BONUS(奖金/提成表,这个是空表)3、SQL:结构化查询语言(*)------------基本查询--语法结构:SELECT 要查询的信息FROM 表名; --比如:看emp表中的内容SELECT * FROM EMP;--.原创 2020-12-01 10:40:48 · 184 阅读 · 0 评论 -
分析函数
------------------分析函数:功能强大。每一组的每一行都可以返回一个统计值1、OVER():开窗,单独查询的时候没有任何意义--比如SELECTOVER()FROMDUAL;---会报错2、它一般是结合其它的函数一起使用。比如:结合聚合函数解决一些复杂的报表统计--语法结构:聚合函数OVER()--比如:查询EMP表中的员工的信息以及平均工资SELECTE.*,AVG(E.SAL)OVER()AVG_SALFROMEMPE;--可以解决掉聚...原创 2020-12-01 10:33:34 · 858 阅读 · 0 评论 -
条件判断、IF ELSE 判断、CASE WHEN 判断
-----------------条件判断:根据条件是否为真,执行相应的操作1、IFELSE判断2、CASEWHEN判断-----------IFELSE条件判断--语法结构:DECLARE--声明体BEGIN--逻辑体IF条件1THEN逻辑1;[ELSIF条件2THEN逻辑2;ELSIF条件3THEN逻辑3;...ELSE其它逻辑;]ENDIF;END;--需要注意...原创 2020-12-01 10:13:39 · 2868 阅读 · 0 评论 -
循环控制
---循环控制:重复的执行某一些操作,以得到想要的结果有3种循环的语法1、LOOP循环2、WHILE循环3、FOR循环--------------LOOP循环--语法结构:DECLARE--声明部分BEGIN--逻辑体LOOP--循环逻辑体IF满足退出循环的条件THENEXIT;ENDIF;--退出循环的简写EXITWHEN退出循环的条件;ENDLOOP...原创 2020-12-01 10:08:50 · 297 阅读 · 0 评论 -
游标:指向一个结果集的指针
---游标:指向一个结果集的指针--便于理解的来说:指针就可以当做是这个结果集,循环这个指针,就可以拿到该结果集里的数据、分为:隐式游标和显式游标-----------隐式游标:SELECT....INTO...--需要注意:1、查询的结果只能是1行,不能是0行或者多行2、不需要声明,直接可以使用-----------显示游标:--声明显式游标的语法结构:DECLARE--声明的部分CURSOR游标名[(参数1数据类型[,参数2数据类型.....])]ISSELEC...原创 2020-12-01 10:02:48 · 641 阅读 · 0 评论 -
-增量同步
-----增量同步逻辑:用源表的数据更新目标表,如果目标表中存在该数据则更新,如果不存在则插入实现逻辑:首先,判断目标表中是否存在源表的数据(比较字段)如果有,则用源表中的数据更新目标表中的对应的该数据如果没有,则直接将源表中的数据插入到目标表--有两种方式:1、游标 (sp+游标的方式)2、MERGE INTO (不适用于所有的数据库,oracle数据库独有)---------游标的方式--比如:将emp表中的数据通过增量同步的方式抽取到 EMP_TAG--第一步:建表(表已经存在,就原创 2020-12-01 10:24:36 · 1491 阅读 · 0 评论 -
自定义函数
----自定义函数:把一些功能/操作封装起来,存在数据库里面,供用户多次使用,不同于sp的是,自定义函数必须要返回一个值(return)FUN一般用来计算用户的指标--创建自定义函数的语法结构:CREATEORREPLACEFUNCTION函数名[(参数1[参数类型]数据类型[,参数2参数类型数据类型......])]RETURN返回的数据类型IS/AS--声明部分BEGIN--逻辑体--必须有一个RETURN子句;END;--开发规范:函数名以...原创 2020-12-01 10:26:33 · 406 阅读 · 0 评论 -
存储过程
---存储过程:把一些经常用到的操作封装起来,存在数据库里面,便于后续的多次调用存储过程一般用来做数据同步--语法结构:CREATEORREPLACEPROCEDURE存储过程名[(参数1[参数类型]数据类型[,参数2参数类型数据类型,....])]IS--/AS--声明部分BEGIN--逻辑体END;--开发规范:存储过程名以SP_开头--需要注意的是:1、CREATEORREPLACE(创建或者替换/更新)的依据就是存储过程名意思就是:当...原创 2020-12-01 10:28:27 · 218 阅读 · 0 评论