当前位置: 首页 > news >正文

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多个值的查询&#xff08;Oracle和dm支持&#xff0c;MySQL未试过&#xff09; 3、start with connect by prior 使用方法 4、用hextoraw解决select、update、delete语句执行慢 5、ORA-00…...

嵌入式软件--模电基础 DAY 1

C语言的学习告一段落了&#xff0c;要多多注意复习回顾&#xff0c;温故而知新&#xff0c;学习的过程就是与遗忘作斗争。接下来就是嵌入式学习中硬件电路方面的知识了。 一、电学基础 1.电流 电流&#xff08;Current&#xff09;是电荷在单位时间内通过导体横截面的流动量…...

【Nacos无压力源码领读】(二) 集成 LoadBalancer 与 OpenFeign

上一篇文章中, 详细介绍了 Nacos 注册中心的原理, 相信看完后, 大家应该完全掌握了 Nacos 客户端是如何自动进行服务注册的, 以及 Nacos 客户端是如何订阅服务实例信息的, 以及 Nacos 服务器是如何处理客户端的注册和订阅请求的; 本文承上启下, 在订阅服务实例的基础上, 介绍如…...

《投资的原理》阅读笔记二——价值投资真是王者吗?

《投资的原理》的第二章是《史记货殖列传里的八大投资金句》&#xff0c;作者在这一章里宣扬的主要观点是价值投资才是稳妥的投资之路。但我觉得作者讲述的很多例子&#xff0c;包括经典的“两个金条放在一起&#xff0c;你告诉我那根是高尚的”&#xff0c;更多的应该体现在“…...

SSH、FTP、SFTP相关协议详解

一、SSH 1、定义 SSH&#xff08;Secure Shell&#xff09;是一种网络协议&#xff0c;用于加密方式远程登录到另一台计算机上&#xff0c;并执行命令或程序。SSH由IETF的网络小组&#xff08;Network Working Group&#xff09;所制定&#xff0c;是建立在应用层基础上的安全…...

C语言进阶——一文带你深度了解“C语言关键字”(中篇6)

本篇文章记录我学习C语言进阶知识——C语言关键字&#xff0c;旨在记录分享&#xff0c;希望我的分享能带给你不一样的收获&#xff01; 目录 一、return关键字 二、const 关键字也许该被替换为 readolny &#xff08;一&#xff09;、 const 修饰的只读变量 &#xff08;二…...

自建极简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.&#xff08;列出所属部门为NULL的教师&#xff09; 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 指数

题目链接&#xff1a; 274. H 指数 - 力扣&#xff08;LeetCode&#xff09; 思路分析&#xff1a;这个题目可以使用哈希表来以空间换时间&#xff0c;我们设置一个数组v来统计每一个对应的影响因子的文章出现的数量&#xff0c;遍历一遍后&#xff0c;v[i]表示影响因子为i的…...

概述:Dubbo、Nacos、 Zookeeper 等分布式服务协调与治理等技术

目录 1. Dubbo 2. Nacos 3. Zookeeper Dubbo、Nacos、Zookeeper 是分布式服务协调与治理领域中的关键技术&#xff0c;它们在微服务架构和分布式系统中扮演着重要角色。以下是对这些技术的详细介绍&#xff1a; 1. Dubbo 概述&#xff1a; Dubbo 是一个高性能、轻量级的开…...

【LINUX】小工具降耦合,全内核函数插入宏摸索测试中。。

这阵子把这个小工具对外的耦合度降了下&#xff0c; 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 这个用于初始化打印日志的级别和打印次数&#xff1a; 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是线性代数&#xff0c;用于求解线性方程AX b,solve计算线性代数回归问题X.T#转置 a X.T.dot(X)#矩阵乘法B np.linalg.inv(a)#求逆矩阵from sklearn.linea…...

Linux系统驱动(十四)输入子系统

文章目录 一、输入子系统&#xff08;一&#xff09;输入子系统框架结构&#xff08;二&#xff09;输入子系统的API 二、实现两个按键的驱动&#xff08;一&#xff09;实现思路&#xff08;二&#xff09;代码实现 一、输入子系统 在linux系统中使用输入子系统驱动上报鼠标&…...

力扣(2024.08.12)

1. 98&#xff1a;验证二叉搜索树 # 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不是更新了嘛 安装 我按照官方的教程 在本地搭建好了 改动 可见的改动&#xff0c;主要是把原来的纯命令行改成前后端的形式 看下前端界面 界面比较简单&#xff0c;主要分3个大块 监控 第一个是监控 主要是看你在 build 里构建的Agents的运行情况 build 第一个是Ag…...

[SWPUCTF 2021 新生赛]PseudoProtocols(构造伪协议)

打开题目所给的环境我们可以看到这样一句话&#xff1a; 这里我先尝试访问/hint.php &#xff0c;但是发现什么都没有发生&#xff0c; F12查看源代码也并没有发现什么&#xff0c;到这里来看的话似乎没有思路了&#xff0c;但是这个题的题目已经给了我们很明显的提示&#xff…...

基于STM32开发的智能语音助手系统

目录 引言环境准备工作 硬件准备软件安装与配置系统设计 系统架构硬件连接代码实现 初始化代码控制代码应用场景 智能家居控制个人语音助理常见问题及解决方案 常见问题解决方案结论 1. 引言 随着人工智能技术的发展&#xff0c;智能语音助手已经逐渐进入了人们的日常生活。…...

基于python的图像去雾算法研究系统设计与实现

博主介绍&#xff1a; 大家好&#xff0c;本人精通Java、Python、C#、C、C编程语言&#xff0c;同时也熟练掌握微信小程序、Php和Android等技术&#xff0c;能够为大家提供全方位的技术支持和交流。 我有丰富的成品Java、Python、C#毕设项目经验&#xff0c;能够为学生提供各类…...

自定义 View 可以播放一段视频

请实现一个自定义 View 的核心代码&#xff0c;核心要求可以响应如下事件&#xff1a; // - 要求自定义 View 可以播放一段视频 / - 在 view 左侧区域上下滑动&#xff0c;可以提高减少音量 / / - 在 view 右侧区域上下滑动可以提高减少屏幕亮度 // - 在 view 左右滑动可以…...

LVS负载均衡集群部署之—NAT模式的介绍及搭建步骤

一、环境准备 1.准备三台rhel9服务器 服务器名称 主机名 ip地址备注LVS调度服务器lvs.timinglee.org eth0:172.25.254.100&#xff08;外网&#xff09; eth1:192.168.0.100(内网) 关闭selinux和防火墙webserver2网站服务器webserver1.timinglee.orgeth0&#xff1a;192.168.…...

网络编程(Modbus进阶)

思维导图 Modbus RTU&#xff08;先学一点理论&#xff09; 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议&#xff0c;由 Modicon 公司&#xff08;现施耐德电气&#xff09;于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计&#xff1a;let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性&#xff0c;这种设计体现了语言的核心哲学。以下是深度解析&#xff1a; 1.1 设计理念剖析 安全优先原则&#xff1a;默认不可变强制开发者明确声明意图 let x 5; …...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中&#xff0c;可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行&#xff0c;可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令&#xff0c;并忽略错误 rm somefile…...

SciencePlots——绘制论文中的图片

文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了&#xff1a;一行…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风&#xff0c;以**「云启出海&#xff0c;智联未来&#xff5c;打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办&#xff0c;现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

数据库分批入库

今天在工作中&#xff0c;遇到一个问题&#xff0c;就是分批查询的时候&#xff0c;由于批次过大导致出现了一些问题&#xff0c;一下是问题描述和解决方案&#xff1a; 示例&#xff1a; // 假设已有数据列表 dataList 和 PreparedStatement pstmt int batchSize 1000; // …...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

laravel8+vue3.0+element-plus搭建方法

创建 laravel8 项目 composer create-project --prefer-dist laravel/laravel laravel8 8.* 安装 laravel/ui composer require laravel/ui 修改 package.json 文件 "devDependencies": {"vue/compiler-sfc": "^3.0.7","axios": …...