Oracle|DM 常用|不常用 SQL大口袋
目录
一、前言
二、SQL写法
1、sql获取某一条数据中的前一条和后一条
2、实现like多个值的查询(Oracle和dm支持,MySQL未试过)
3、start with connect by prior 使用方法
4、用hextoraw解决select、update、delete语句执行慢
5、ORA-00979不是GROUP BY表达式
6、merge语句
三、与MySQL写法区别
1、Oracle与MySQL的SQL区别系列
2、MySQL系列:oracle和mysql批量插入的区别
一、前言
平时写SQL的时候需要写的SQL千奇百怪,从各个帖子学习之后,记录下曾经用到的一些用法,方便以后在用到查找(找的时候真费力呀)。
二、SQL写法
1、sql获取某一条数据中的前一条和后一条
在SQL查询中使用LEAD和LAG函数,这两个窗口函数用于获取行的前后值,通过ORDERBY对ORDER_COL进行排序。提供了一个示例,展示了如何在特定表(TABLE_NAME)中应用这些函数来过滤数据。
SELECT *
FROM (SELECT ID, NAME, LEAD(ID) OVER(ORDER BY ORDER_COL) NEXT_ID, LAG(ID) OVER(ORDER BY ORDER_COL) PREV_IDFROM TABLE_NAME
)
WHERE ID = ''
其中LEAD和LAG函数的参数可以是其他值.
说明:
1)、关于LEAD和LAG函数可以参考:sql中的窗口函数:lead,lag
2)、该写法参考网上的一种写法,可以使用
2、实现like多个值的查询(Oracle和dm支持,MySQL未试过)
1)regexp_like (字段名,'(条件1|条件2|条件3|条件4)')
regexp_like (字段名, #{参数})
<if test="userAccount != null and userAccount != ''">and regexp_like(OTHER_SPECIALITY_CODE,${userAccount})
</if>
或者
<if test="otherSpecialityCodeList != null and otherSpecialityCodeList.size() > 0">or<foreach collection="otherSpecialityCodeList" index="index" item="item"open="(" separator="or" close=")">regexp_like(OTHER_SPECIALITY_CODE,'${item}')</foreach>
</if>
2)同一字段 like 多值 可区分 单向模糊 和 双向模糊(Oracle和dm未试过,MySQL支持)
双向模糊查询:
SELECT * from `aaaaaaa` where `name` like '%张三%' or `name` like '%李四%' or `name` like '%王五%'
或:
SELECT * from `aaaaaaa` where `name` REGEXP '张三|李四|王五'

单项模糊查询:
SELECT * from `aaaaaaa` where `name` like '%张三' or `name` like '%李四' or `name` like '%王五'
或:
SELECT * from `aaaaaaa` where `name` REGEXP '^张三|^李四|^王五'


3、start with connect by prior 使用方法
参考:Oracle系列:start with connect by prior 使用方法
4、用hextoraw解决select、update、delete语句执行慢
参考:Oracle系列:用hextoraw解决select、update、delete语句执行慢
5、ORA-00979不是GROUP BY表达式
参考:Oracle系列:ORA-00979不是GROUP BY表达式
6、merge语句
参考:Oracle系列:oracle批量merge into来实现批量新增并在新增的同时更新满足条件的数据
参考:Oracle系列:MERGE语句
7、DECODE函数:实现按着指定字符串顺序进行排序
DECODE函数是Oracle数据库中的条件表达式函数,用于执行条件判断并返回对应的结果。它的基本语法如下:
DECODE(expr, search1, result1, search2, result2, ..., default)
expr:要比较的表达式或列。
search1, search2, ...:要比较的值。
result1, result2, ...:如果expr等于相应的search值,则返回相应的result值。
default:如果没有找到匹配项,则返回default值。
详细学习参考博客:Oracle中decode函数详解
排序:查询结果按着sortedList 定义的集合顺序进行排序,如果UNIT_CODE相同,按着创建时间排序。
List<String> sortedList = new ArrayList<>();
sortedList.add("A");
sortedList.add("C");
sortedList.add("D");
sortedList.add("W");
sortedList.add("F");
order by DECODE(UNIT_CODE,
<foreach collection="sortedList" index="index" item="item" separator=",">#{item},#{index}
</foreach>
,9999),CREATE_TIME desc
三、与MySQL写法区别
1、Oracle与MySQL的SQL区别系列
参考:Oracle与MySQL的SQL区别系列
2、MySQL系列:oracle和mysql批量插入的区别
参考:MySQL系列:oracle和mysql批量插入的区别
未完待续。。。
相关文章:
Oracle|DM 常用|不常用 SQL大口袋
目录 一、前言 二、SQL写法 1、sql获取某一条数据中的前一条和后一条 2、实现like多个值的查询(Oracle和dm支持,MySQL未试过) 3、start with connect by prior 使用方法 4、用hextoraw解决select、update、delete语句执行慢 5、ORA-00…...
嵌入式软件--模电基础 DAY 1
C语言的学习告一段落了,要多多注意复习回顾,温故而知新,学习的过程就是与遗忘作斗争。接下来就是嵌入式学习中硬件电路方面的知识了。 一、电学基础 1.电流 电流(Current)是电荷在单位时间内通过导体横截面的流动量…...
【Nacos无压力源码领读】(二) 集成 LoadBalancer 与 OpenFeign
上一篇文章中, 详细介绍了 Nacos 注册中心的原理, 相信看完后, 大家应该完全掌握了 Nacos 客户端是如何自动进行服务注册的, 以及 Nacos 客户端是如何订阅服务实例信息的, 以及 Nacos 服务器是如何处理客户端的注册和订阅请求的; 本文承上启下, 在订阅服务实例的基础上, 介绍如…...
《投资的原理》阅读笔记二——价值投资真是王者吗?
《投资的原理》的第二章是《史记货殖列传里的八大投资金句》,作者在这一章里宣扬的主要观点是价值投资才是稳妥的投资之路。但我觉得作者讲述的很多例子,包括经典的“两个金条放在一起,你告诉我那根是高尚的”,更多的应该体现在“…...
SSH、FTP、SFTP相关协议详解
一、SSH 1、定义 SSH(Secure Shell)是一种网络协议,用于加密方式远程登录到另一台计算机上,并执行命令或程序。SSH由IETF的网络小组(Network Working Group)所制定,是建立在应用层基础上的安全…...
C语言进阶——一文带你深度了解“C语言关键字”(中篇6)
本篇文章记录我学习C语言进阶知识——C语言关键字,旨在记录分享,希望我的分享能带给你不一样的收获! 目录 一、return关键字 二、const 关键字也许该被替换为 readolny (一)、 const 修饰的只读变量 (二…...
自建极简Ethercat主站-第8章 FOE基础功能实现
文章目录 第8章 FOE8.1 FOE简介8.2 FOE 数据结构8.2.1 FOE帧格式8.2.2 FOE请求8.3 数据传输流程8.3.1 读流程8.3.2 写流程8.3.3 忙操作8.3.4 代码示例第8章 FOE 源码地址 8.1 FOE简介 FOE(File Access over Ethercat),用于节点之间的文件传输。协议类似于TFTP协议,感觉…...
SQL Zoo 8.Using Null
以下数据均来自SQL Zoo 1.List the teachers who have NULL for their department.(列出所属部门为NULL的教师) select name from teacher where dept is null 2.Note the INNER JOIN misses the teachers with no department and the departments wit…...
LeetCode274. H 指数
题目链接: 274. H 指数 - 力扣(LeetCode) 思路分析:这个题目可以使用哈希表来以空间换时间,我们设置一个数组v来统计每一个对应的影响因子的文章出现的数量,遍历一遍后,v[i]表示影响因子为i的…...
概述:Dubbo、Nacos、 Zookeeper 等分布式服务协调与治理等技术
目录 1. Dubbo 2. Nacos 3. Zookeeper Dubbo、Nacos、Zookeeper 是分布式服务协调与治理领域中的关键技术,它们在微服务架构和分布式系统中扮演着重要角色。以下是对这些技术的详细介绍: 1. Dubbo 概述: Dubbo 是一个高性能、轻量级的开…...
【LINUX】小工具降耦合,全内核函数插入宏摸索测试中。。
这阵子把这个小工具对外的耦合度降了下, include/linux/printk_self.h r77683962/linux-6.9.0 - Gitee.comhttps://gitee.com/r77683962/linux-6.9.0/blob/master/include/linux/printk_self.h 这个用于初始化打印日志的级别和打印次数: void Param…...
24/8/12算法笔记 复习_线性回归
import numpy as np#导入包 X np.array([[1,1],[2,1]])#构造矩阵 y np.array([14,10])np.linalg.solve(X,y) #linalg是线性代数,用于求解线性方程AX b,solve计算线性代数回归问题X.T#转置 a X.T.dot(X)#矩阵乘法B np.linalg.inv(a)#求逆矩阵from sklearn.linea…...
Linux系统驱动(十四)输入子系统
文章目录 一、输入子系统(一)输入子系统框架结构(二)输入子系统的API 二、实现两个按键的驱动(一)实现思路(二)代码实现 一、输入子系统 在linux系统中使用输入子系统驱动上报鼠标&…...
力扣(2024.08.12)
1. 98:验证二叉搜索树 # Definition for a binary tree node. # class TreeNode: # def __init__(self, val0, leftNone, rightNone): # self.val val # self.left left # self.right right class Solution:def isValidBST(self, r…...
最新版的AutoGPT,我搭建好了
最近AutoGPT不是更新了嘛 安装 我按照官方的教程 在本地搭建好了 改动 可见的改动,主要是把原来的纯命令行改成前后端的形式 看下前端界面 界面比较简单,主要分3个大块 监控 第一个是监控 主要是看你在 build 里构建的Agents的运行情况 build 第一个是Ag…...
[SWPUCTF 2021 新生赛]PseudoProtocols(构造伪协议)
打开题目所给的环境我们可以看到这样一句话: 这里我先尝试访问/hint.php ,但是发现什么都没有发生, F12查看源代码也并没有发现什么,到这里来看的话似乎没有思路了,但是这个题的题目已经给了我们很明显的提示ÿ…...
基于STM32开发的智能语音助手系统
目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 初始化代码控制代码应用场景 智能家居控制个人语音助理常见问题及解决方案 常见问题解决方案结论 1. 引言 随着人工智能技术的发展,智能语音助手已经逐渐进入了人们的日常生活。…...
基于python的图像去雾算法研究系统设计与实现
博主介绍: 大家好,本人精通Java、Python、C#、C、C编程语言,同时也熟练掌握微信小程序、Php和Android等技术,能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验,能够为学生提供各类…...
自定义 View 可以播放一段视频
请实现一个自定义 View 的核心代码,核心要求可以响应如下事件: // - 要求自定义 View 可以播放一段视频 / - 在 view 左侧区域上下滑动,可以提高减少音量 / / - 在 view 右侧区域上下滑动可以提高减少屏幕亮度 // - 在 view 左右滑动可以…...
LVS负载均衡集群部署之—NAT模式的介绍及搭建步骤
一、环境准备 1.准备三台rhel9服务器 服务器名称 主机名 ip地址备注LVS调度服务器lvs.timinglee.org eth0:172.25.254.100(外网) eth1:192.168.0.100(内网) 关闭selinux和防火墙webserver2网站服务器webserver1.timinglee.orgeth0:192.168.…...
变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析
一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
镜像里切换为普通用户
如果你登录远程虚拟机默认就是 root 用户,但你不希望用 root 权限运行 ns-3(这是对的,ns3 工具会拒绝 root),你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案:创建非 roo…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
Mac软件卸载指南,简单易懂!
刚和Adobe分手,它却总在Library里给你写"回忆录"?卸载的Final Cut Pro像电子幽灵般阴魂不散?总是会有残留文件,别慌!这份Mac软件卸载指南,将用最硬核的方式教你"数字分手术"࿰…...
ElasticSearch搜索引擎之倒排索引及其底层算法
文章目录 一、搜索引擎1、什么是搜索引擎?2、搜索引擎的分类3、常用的搜索引擎4、搜索引擎的特点二、倒排索引1、简介2、为什么倒排索引不用B+树1.创建时间长,文件大。2.其次,树深,IO次数可怕。3.索引可能会失效。4.精准度差。三. 倒排索引四、算法1、Term Index的算法2、 …...
MySQL中【正则表达式】用法
MySQL 中正则表达式通过 REGEXP 或 RLIKE 操作符实现(两者等价),用于在 WHERE 子句中进行复杂的字符串模式匹配。以下是核心用法和示例: 一、基础语法 SELECT column_name FROM table_name WHERE column_name REGEXP pattern; …...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
GC1808高性能24位立体声音频ADC芯片解析
1. 芯片概述 GC1808是一款24位立体声音频模数转换器(ADC),支持8kHz~96kHz采样率,集成Δ-Σ调制器、数字抗混叠滤波器和高通滤波器,适用于高保真音频采集场景。 2. 核心特性 高精度:24位分辨率,…...
