自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Irene1991的博客

学如逆水行舟,不进则退。

  • 博客(640)
  • 资源 (13)
  • 收藏
  • 关注

原创 Oracle 数字区间、日期边界问题分类总结(日期比较大小)

Oracle数字与日期区间处理要点总结

2026-05-07 17:27:00 8

原创 (课堂笔记)PL/SQL 循环 自定义函数 存储过程

本文系统梳理了PL/SQL三大核心内容:1)循环结构:包括FOR循环(固定次数)、WHILE循环(条件判断)及BREAK/CONTINUE控制语句;2)自定义函数:强调必须返回值的特性,演示了数值计算和业务查询两种应用场景;3)存储过程:侧重数据处理流程封装,对比了与函数的关键差异(无返回值、不可SQL调用)。特别指出存储过程中IS/AS关键字不可省略的语法要求,并提供了典型练习案例(质数判断、字符串处理等)。适用于数据库开发人员快速掌握PL/SQL编程要点。

2026-05-07 17:13:52 5

原创 Oracle 存储过程 procedure 不允许使用 return 语句

Oracle存储过程中RETURN语句的使用存在严格限制:在存储过程(PROCEDURE)中不允许使用RETURN语句,否则会引发PLS-00372编译错误;而在函数(FUNCTION)中则必须使用RETURN并返回指定值。如需在存储过程中实现提前退出功能,建议采用GOTO跳转、条件判断或异常处理等替代方案。这一设计差异反映了Oracle对存储过程和函数的不同定位,函数必须返回值而存储过程侧重执行操作,开发者需特别注意语法规范以避免错误。

2026-05-07 16:50:08 13

原创 PyCharm 大数据开发快速上手指南(类比 VSCode 、Oracle SQL Developer)

大数据开发首选PyCharm(非选工具问题,而是快速上手需求)PyCharm可通过键位切换、界面映射降低迁移成本Oracle连接需要JDBC驱动,支持SQL控制台智能补全SQL Developer在Oracle深度调优方面不可替代理解解释器和虚拟环境是Python项目开发的核心基础

2026-05-07 12:48:34 63

原创 解释说明 SQLite 里1/2得到的不是0.5,得到的是0,只有1*1.0/2才会得到0.5

SQLite等数据库中整数除法会截断小数部分,1/2结果为0。要得到0.5,需确保至少一个操作数为浮点数,如1.0/2或CAST(1 AS REAL)/2。MySQL默认返回小数结果,而SQLite、PostgreSQL等需显式转换。最佳实践是使用显式类型转换确保跨数据库兼容性,避免隐式转换带来的意外结果。

2026-05-06 17:48:29 109

原创 PL/SQL:变量使用 两个连续的外部输入 注意事项

Oracle替换变量机制解析:在SQLPlus中,相同名称的替换变量(如&input)会复用第一次输入的值(值复用),后续同名变量不会重复提示;而在SQLDeveloper中,每次遇到替换变量都会独立提示输入。若要实现不同变量获取相同值,可使用&&定义变量或先存储到PL/SQL变量;需要独立值时则使用不同名称的替换变量。该机制本质是文本替换而非引用复用,修改其中一个变量不会影响其他同名变量的值。不同客户端工具(SQLPlus/SQLDeveloper)对替换变量的处理方式存在差异。

2026-05-06 17:43:06 206

原创 (课堂笔记)PL/SQL 基础语法、变量使用、条件判断与循环控制

PL/SQL基础语法总结

2026-05-06 17:25:18 246

原创 Oracle SQL Developer 使用指南(类比 VS Code):dbms_output.put_line()

Oracle SQL Developer快速上手指南:从VSCode到数据库开发

2026-05-06 17:14:07 206

原创 SQL Developer 连接类型 (Connection Type) :SID 和 Service Name的区别

SQLDeveloper连接Oracle数据库时,Basic连接类型最常用,需区分SID和服务名。SID是数据库实例的唯一标识(1对1),适合单机数据库;服务名是逻辑入口(1对多),适合RAC集群和云数据库。建议优先尝试服务名,若失败再改用SID。其他连接类型如TNS用于复杂生产环境,CloudWallet用于云数据库,Advanced用于定制化场景。掌握Basic连接及SID/服务名区别可解决90%的连接问题。

2026-05-06 17:03:32 336

原创 ORDER BY 1 :按 SELECT 列表中的第 1 列 进行排序

ORDER BY 1的使用方法与注意事项

2026-05-06 15:26:31 317

原创 MySQL 计算新登录用户次日留存率

本文介绍了三种计算MySQL中新登录用户次日留存率的SQL解法。解法一使用自连接和子查询,兼容性好且性能优秀;解法二基于MySQL 8.0+的窗口函数;解法三通过WITH子句实现清晰逻辑。核心步骤包括:1)获取用户首次登录日期;2)判断次日是否登录;3)计算留存率(留存用户数/新用户总数)。文章还对比了不同写法,并扩展了按日期、设备统计及多日留存率的场景,最后强调了整数除法转换和日期处理等注意事项。

2026-05-06 08:46:47 321

原创 Oracle 创建视图报错:列名不唯一

创建Oracle视图时出现列名重复错误(ORA-00957),原因是使用e.*,d.*导致DEPTNO列重复。解决方法需显式指定列名,为重复列设置别名(如DEPTNO_EMP/DEPTNO_DEPT),或只保留一个表的DEPTNO列。即使替换已有视图,系统仍会校验列名唯一性。建议手动列举所需列并处理重复字段,确保视图创建和后续查询无歧义。

2026-04-30 17:12:11 228

原创 SQL示例:为什么薪资表需要关联多次

本文解释了SQL查询中为何需要两次关联薪资表来比较员工和经理的薪资。核心原因是:一次JOIN只能获取一个人的薪资信息,而查询需要同时获取员工和经理(两个不同个体)的当前薪资进行对比。通过分步示例说明:第一次关联获取员工薪资,第二次关联获取经理薪资。文章还指出,若需比较更多角色(如员工、经理、总监),则需相应增加关联次数(如三次)。这种设计是因为关系型数据库中,JOIN操作基于值匹配,不同角色的薪资需通过独立查询条件获取。

2026-04-30 17:03:48 268

原创 SQL示例:为什么同样的条件需要重复两次排序

SQL查询中两个ORDER BY子句作用不同,不是冗余。第一个在窗口函数内(DENSE_RANK() OVER(ORDER BY salary DESC))决定排名规则;第二个在语句末尾(ORDER BY salary DESC,emp_no)控制结果输出顺序。示例显示:若不使用第二个ORDER BY,相同工资的员工可能不按emp_no升序排列。两个ORDER BY分别服务于排名计算和结果排序两个不同阶段,确保既正确计算排名又满足最终显示顺序要求。

2026-04-30 16:52:33 314

原创 Oracle 中 为什么不能用 ROWNUM >=2 判断

Oracle中的ROWNUM是查询时动态分配的行号(从1开始),其赋值发生在WHERE之后、ORDER BY之前。关键限制:ROWNUM>N(N>1)永远返回空,因为行号分配是逐行进行的。实现分页的正确方法:1)使用ROW_NUMBER()分析函数;2)Oracle 12c+可用OFFSET语法。注意:直接结合ROWNUM和ORDER BY会导致错误结果,必须先通过子查询排序,再在外层使用ROWNUM过滤,才能正确获取排序后的前N条记录。

2026-04-30 16:42:05 370

原创 SQL 有效性/作用域说明:会话级别、事务级别,语句级别

Oracle临时表有三种级别:1. 语句级别(单条SQL有效,如CTE/子查询);2. 事务级别(同一事务内SQL共享,提交后清空);3. 会话级别(整个连接会话有效,断开后清空)。临时表属于事务或会话级别,而非严格语句级别。若需仅当前SQL有效,应使用WITH子句或内联视图。事务级临时表(ON COMMIT DELETE ROWS)数据在事务内可见,会话级(ON COMMIT PRESERVE ROWS)则会话内持续存在。选择取决于数据共享需求范围。

2026-04-30 16:04:20 335

原创 (课堂笔记)SQL 临时表、视图、正则表达式

本文总结了SQL中临时表(CTE)、视图和正则表达式的核心知识点。临时表部分重点讲解WITH子句的编写规范、使用优势(逻辑拆分、提高可读性)和连续登录天数计算案例,强调引用顺序和必须包含最终SELECT的注意事项。视图部分对比普通视图与物化视图的存储特性,说明视图在封装逻辑和安全性方面的作用。正则表达式部分详解Oracle四大核心函数(REGEXP_LIKE/SUBSTR/REPLACE/INSTR)的用法,包含字符串匹配、截取、替换和位置查找的典型示例,特别强调正则模式符号的应用技巧。

2026-04-30 15:57:19 324

原创 (课堂笔记)SQL 高级查询技巧:行列转换、重复数据、递归查询、连续登录

📝SQL高级查询技巧摘要 本笔记总结了SQL数据处理中的5个核心技巧:1)行列转换:使用CASE WHEN/PIVOT实现行转列,UNION ALL/UNPIVOT实现列转行;2)伪列应用:ROWNUM分页查询,ROWID精确去重;3)重复数据处理:通过ROW_NUMBER()时效性去重,利用ROWID删除重复记录;4)递归查询:使用START WITH/CONNECT BY处理层级关系,支持上下级双向查询;5)连续登录分析:采用"日期-序号"差值法识别连续日期,通过三步计算连续天数。

2026-04-29 16:58:29 359

原创 大数据开发场景下,总结并翻译 Oracle 中常见的错误(补充其他错误码:适合初学者)

Oracle大数据开发常见错误

2026-04-29 14:07:26 389

原创 Oracle 中:为什么 from 子查询后面需要一个别名

Oracle要求FROM子查询必须使用别名的原因主要有三点:1) 严格遵循SQL标准,要求所有派生表都必须命名;2) 确保列引用路径明确,避免多表查询时的歧义;3) Oracle解析器机制特殊,不像其他数据库能自动生成内部别名。这种强制规定体现在所有派生表场景,包括子查询、表函数等,省略别名会导致ORA-00903错误。正确做法是在子查询后立即指定别名(如"SELECT...FROM(...) alias"),这是Oracle确保查询语义清晰的重要机制。

2026-04-29 09:55:49 210

原创 大数据开发语境下,SQL 模式名,映射关系 - - 概念理解

在Oracle经典教学环境(如scott)中,模式名等同于用户名(如SCOTT),它作为命名空间管理数据对象(如表emp)。映射关系通常指表间的业务关联(如员工-部门),而非仅SQL连接条件(ON emp.deptno=dept.deptno)。在大数据开发中,模式名演变为逻辑隔离的数据库/命名空间(如Hive的dwd_sales),映射关系更侧重ETL过程中的字段对应规则。因此,模式名是对象的逻辑容器,映射关系既包含业务关联也涵盖技术实现方式。

2026-04-28 20:00:05 167

原创 Oracle:select sum(0),sum(1),sum(10)from emp;

Oracle中SUM函数对常量求和时,结果取决于数据行数。查询select sum(0),sum(1),sum(10) from dual返回0,1,10(dual表只有1行);而查询select sum(0),sum(1),sum(10) from emp返回0,N,10×N(N为emp表行数)。SUM函数会忽略NULL值,但常量求和时每行都有值,结果等于常量值乘以行数。例如emp表14行时,sum(1)=14,sum(10)=140。dual表因只有1行,结果就是常量本身。

2026-04-28 19:45:10 102

原创 (课堂笔记)Oracle:场景判断(CASE WHEN)、集合运算、EXISTS、行列转换

这篇SQL课堂笔记总结了多种数据查询和处理的核心技术。主要内容包括:1)条件判断的CASE WHEN和DECODE语法及应用场景;2)集合运算(UNION、INTERSECT等)的使用要点;3)EXISTS子查询的高效实现方式;4)行列转换的多种实现方法(CASE WHEN、DECODE、PIVOT)。笔记通过具体示例演示了薪资分段、部门统计、成绩表转换等典型场景,并对比了不同技术的适用情况,如EXISTS与IN的效率差异。最后还提供了员工分类统计等练习题,帮助巩固知识点。

2026-04-28 17:18:44 322

原创 大数据开发入门 - 核心SQL英文单词本

大数据开发核心SQL单词本(精简版)

2026-04-28 17:05:54 298

原创 (课堂笔记回顾)聚合函数、开窗函数、聚合窗口

SQL核心函数

2026-04-28 12:37:27 292

原创 数据排序为什么默认升序

数据排序默认采用升序(ASC)主要基于三方面原因:1)符合人类从小到大的自然思维习惯(如数数、字母、时间排序);2)计算机科学传统(多数排序算法天然实现升序);3)数据库设计哲学(遵循最小惊讶原则)。降序(DESC)作为逆向思维需要明确指定,常见于排行榜、最新数据等特殊场景。这种设计既符合日常认知,也与数学、计算机领域的常规实践保持一致,使用户无需额外记忆即可获得预期结果。

2026-04-28 12:30:08 370

原创 窗口函数为什么叫“窗口“?—— 概念理解

窗口函数为什么叫"窗口"? 核心概念:窗口函数中的"窗口"指一个动态的数据观察范围,就像透过移动的相框观察照片局部。 关键特点: 窗口=观察框:为每行数据定义一个可移动的计算范围(如同火车车窗观察不同风景) 三大要素: 窗口边界(PARTITION BY分组) 窗口顺序(ORDER BY排序) 窗口大小(ROWS/RANGE指定范围) 与传统聚合的区别:保留原始行数,在每行上附加窗口计算结果。

2026-04-28 11:22:30 371

原创 DISTINCT(去重、唯一值)使用方法总结

SQL中DISTINCT关键字使用总结:用于查询结果去重,可作用于单列或多列组合(多列同时相同时才去重)。使用时需注意:必须放在SELECT后所有列前;NULL被视为一个独立值;大表性能较差时可考虑建索引或改用GROUP BY。常见场景包括查看唯一值、统计不重复记录数等。典型错误包括将DISTINCT放在中间位置或与聚合函数混用。优化建议包括先过滤数据再使用DISTINCT,或改用EXISTS等替代方案。

2026-04-28 09:04:52 395

原创 Oracle:为什么 ORDER BY 能让 SUM() 变成累计?

SQL窗口函数中ORDER BY对SUM()的影响解析 摘要: 在SQL窗口函数中,ORDER BY子句会改变SUM()的行为。没有ORDER BY时,SUM()计算整个分组的固定总和(如部门总薪资8750);添加ORDER BY后,SUM()变为按指定顺序的累计求和(如2450→7450→8750)。这种差异源于窗口范围的改变:无ORDER BY时窗口是整个分组,有ORDER BY时窗口默认从第一行到当前行。其他聚合函数如AVG、COUNT等也遵循相同逻辑。

2026-04-27 18:25:51 281

原创 Oracle 聚合函数 vs 窗口函数 对比总结(书写顺序与执行顺序示例)

📝 聚合函数 vs 窗口函数对比

2026-04-27 17:44:35 389

原创 (课堂笔记)Oracle 窗口函数/开窗函数/分析函数

窗口函数(OVER)可在SELECT中实现分组计算而不改变行数,核心包括:1)排名函数(ROW_NUMBER/RANK/DENSE_RANK)用于TOPN查询;2)LAG/LEAD获取相邻行数据;3)FIRST_VALUE取组内首条记录;4)NTILE数据分桶;5)聚合开窗(SUM/AVG)实现累计计算。与聚合函数不同,窗口函数保留原行数,通过PARTITION BY分组、ORDER BY排序。典型应用包括部门薪资排名、同环比分析、累计求和等。

2026-04-27 17:08:01 421

原创 (课堂笔记)Oracle 聚合函数与 GROUP BY 分组查询

本文总结了Oracle中聚合函数与GROUP BY分组查询的核心知识点。主要内容包括:1)常用聚合函数(SUM/MAX/MIN/AVG/COUNT)的使用及NULL值处理;2)GROUP BY语法结构和分组查询示例;3)HAVING子句与WHERE的区别;4)SQL语句执行顺序;5)COUNT不同写法的区别;6)常见错误分析及综合练习。重点强调了WHERE与HAVING的应用场景、非分组字段的使用限制以及COUNT的性能优化建议,并提供了典型例题和自测题帮助理解。

2026-04-27 17:02:52 397

原创 (课堂笔记)Oracle 表关联:连接类型、数据发散、自关联、同环比计算

Oracle表关联核心要点总结

2026-04-25 18:05:35 303

原创 (课堂笔记)Oracle 常用函数:数值、字符串、日期处理

本文系统总结了Oracle常用函数,分为数值、字符串和日期处理三大类。数值函数包括ABS、POWER、ROUND等;字符串函数涵盖REPLACE、SUBSTR、INSTR等;日期函数包含LAST_DAY、ADD_MONTHS等。文中提供了典型示例和实用技巧,如统计字符出现次数、模糊查询替代方案等。最后通过综合练习演示了函数组合应用,并给出了最佳实践建议,如日期运算优先使用MONTHS_BETWEEN、字符串拼接推荐使用"||"等。

2026-04-25 18:02:16 362

原创 怎么理解 JavaScript 中的短路

JavaScript中的短路运算指的是逻辑运算符&&和||在特定条件下提前终止求值的特性。

2026-04-25 14:43:14 303

原创 SQL查询优化:NOT EXISTS与LEFT JOIN性能对比

SQL查询优化:NOT EXISTS与LEFT JOIN性能对比

2026-04-25 14:02:11 394

原创 Oracle 常用数据类型:数值类型、字符类型、日期时间、大对象、特殊类型(ROWID、XML、JSON)附:和 MySql对比,Oracle 特有的关键字或方法

Oracle数据库常用数据类型总结

2026-04-25 08:55:05 397

原创 数据发散(Data Spreading)详解(附:示例 数据发散最大值是笛卡尔乘积)

数据发散是数据库查询中常见的陷阱,指当关联键不唯一时导致结果集行数异常膨胀的现象。典型场景出现在一对多关联时,如员工表关联奖金表(同一员工可能有多个奖金记录),原本14行的员工表可能输出16行结果。数据发散会导致统计错误(如SUM值被放大)、性能下降和存储浪费。解决方案包括:1)对重复键表先进行去重;2)先聚合再关联;3)只取最新记录。关键检查点包括确认关联键唯一性、评估预期结果行数,以及考虑先聚合后关联的策略。在多表级联关联时,发散问题会呈指数级恶化,需特别注意。

2026-04-24 19:46:01 144

原创 (课堂笔记)Oracle 子查询与表操作

本文总结了Oracle数据库中子查询和表操作的关键知识点。子查询部分介绍了WHERE和FROM后的子查询用法,包括单值、单列返回形式及典型应用场景。表操作部分涵盖创建、维护(重命名、增删列等)以及CRUD操作(增删改查),特别说明了不同删除方式的区别。连接查询部分详细讲解了内连接和左右外连接的使用方法。最后提供了4个综合练习题,涉及薪资比较、部门筛选等常见查询需求。本文可作为Oracle数据库操作的快速复习资料。

2026-04-24 19:40:00 172

原创 数据库“水位线”概念详解:Oracle数据库的数据文件空间管理 和 Flink/流处理中的事件时间处理

Oracle数据库中的"水位线"(HWM)是一个关键概念,它标记了表曾经使用过的最大存储空间位置。当执行全表扫描时,系统会扫描HWM以下的所有数据块,即使其中包含大量空块。主要特点包括:INSERT操作可能抬高HWM,DELETE不会降低HWM,TRUNCATE则能重置HWM。HWM过高会导致性能问题,可通过SHRINK(在线)、MOVE(离线)或TRUNCATE等操作来降低。建议定期清理后执行SHRINK,并考虑使用分区表来优化性能。

2026-04-24 17:21:19 204

智能冰箱管家项目(未完成)源码

智能冰箱管家项目(未完成)源码,具体详情可以看我的相关专栏文章。本来想分享在GitHub上的,GitHub又打不开了,就分享在这里吧。

2026-04-17

Beetl2.8中文文档

java模板引擎Beetl2.8中文文档。Beetl目前版本是2.8.3,相对于其他java模板引擎,具有功能齐全,语法直观,性能超高,以及编写的模板容易维护等特点。

2018-06-01

PMP学习笔记

我的PMP学习笔记,可以结合我的相关博客看。想通过考试大部分还是要靠自己梳理PMP的内在逻辑,别人的只是参考。

2018-06-07

质量管理学习资料分享.zip

质量管理学习资料分享,主要是了解QA工作时收集整理的一些资料。详情见相关博客。https://blog.csdn.net/Irene1991/article/details/106489800

2020-06-03

sublime 3 for mac

sublime text 3 for Mac,很好用的web前端开发编辑器。

2018-08-02

超好用的网页滚动截图插件

浏览器扩展工具,免安装,拖动至扩展中心,支持滚动截图,图片保存。安装成功后在浏览器右上角会有蓝色的S形图标,使用时点击图标即可。

2018-01-19

权限树tree-multiselect.js-demo

网上资源大多都是静态数据展现或单一层级的动态数据添加,本demo在官网demo的基础上添加了一个个人测试页,演示的是动态数据的无限极权限的层级展示,js交互部分使用了递归。

2018-01-19

2018-1-23_tree-multiselect-mydemo真实模拟项目中的添加和编辑功能

原有官方资源的升级版,彻底解决使用tree-multiselect开发权限配置时需要用到的添加和编辑场景,打通前端交互使用障碍。下载后打开demo中/tree-multiselect.js-demo/test/mytest_new.html测试。

2018-01-23

前端单页特效

单页,前端特效,音乐背景,环绕照片墙,自动旋转。照片和背景乐可以替换成自己喜欢的。

2018-08-13

js权威指南知识梳理.zip

js权威指南(犀牛书)知识梳理,xmind形式,包含目录和前8章知识点梳理。目录没有和翻译完全一样,部分有修改。章节知识点梳理也一样,有些原翻译比较生硬,转为了自己比较好理解的表述和自己写的一些示例代码。但绝大部分内容和示例代码是书籍里的原内容。

2020-04-29

平面设计原理-版式

看虎课网视频教程《日本平面设计原理-版式》,我自己记录的笔记。

2019-03-05

《GS14-2013 工商行政管理基础代码集》

《GS14-2013 工商行政管理基础代码集》是政府规定的工商行政相关的字段分类,比如行政区划代码,行业类别代码、币种代码、证照状态代码、广告媒介代码等。

2018-01-19

Navicat for MySQL Mac版

Navicat for MySQL ,Mac版,程序开发时,连接数据库使用。

2018-08-02

PMBOK中文第六版

PMBOK中文第六版,PDF格式,密码changeway,改变人生的路。

2018-03-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除