【Oracle】SQL笔记
与MySQL的区分
https://www.cnblogs.com/bailing80/p/11440927.html
获取当前系统时间
-- 查询当前系统时间,DUAL为一张临时表
SELECT SYSDATE FROM DUAL
获取时差
-- 7分钟前
SELECT SYSDATE, SYSDATE - INTERVAL '7' MINUTE FROM DUAL;
-- 7小时前
SELECT SYSDATE, SYSDATE - INTERVAL '7' HOUR FROM DUAL;
-- 7天前
SELECT SYSDATE, SYSDATE - INTERVAL '7' DAY FROM DUAL;
-- 7月前
SELECT SYSDATE, SYSDATE - INTERVAL '7' MONTH FROM DUAL;
-- 7年前
SELECT SYSDATE, SYSDATE - INTERVAL '7' YEAR FROM DUAL; -- 7分钟后
SELECT SYSDATE, SYSDATE + INTERVAL '7' MINUTE FROM DUAL;
-- 7小时后
SELECT SYSDATE, SYSDATE + INTERVAL '7' HOUR FROM DUAL;
-- 7天后
SELECT SYSDATE, SYSDATE + INTERVAL '7' DAY FROM DUAL;
-- 7月后
SELECT SYSDATE, SYSDATE + INTERVAL '7' MONTH FROM DUAL;
-- 7年后
SELECT SYSDATE, SYSDATE + INTERVAL '7' YEAR FROM DUAL;
字符模糊查询
-- ORACLE LIKE查询
SELECT * FROM 表名 WHERE INSTR(字段, '目标字符') > 0
分页查询样例:
SELECT * FROM
(
SELECT ROWNUM R, 别名A.*
FROM 表名 别名A
WHERE ROWNUM <= 当前页 * 每页记录数
) 别名B
WHERE 别名B.R > (当前页 - 1) * 每页记录数;
分页还需要排序处理
SELECT * FROM
(
SELECT ROWNUM RN,别名A.* FROM
(
SELECT -- 需要的字段
FROM 表名 -- 这里可以是多表
-- WHERE 筛选条件
ORDER BY 排序字段 [ASC, DESC]
) 别名A
WHERE ROWNUM < 当前页数 * 每页记录数
)
WHERE RN > (当前页数 - 1)* 每页记录数
递归查询:
https://www.cnblogs.com/Soprano/p/10659127.html
查询目标节点和所有下级
-- Oracle递归查询
SELECT *
FROM 表名
START WITH 字符字段名 ='条件值' -- (起始条件)
CONNECT BY PRIOR 主键字段名 = 父键字段名 -- 主键 等于 父建
查询目标节点和所有上级,就是把PRIOR条件倒过来
-- Oracle递归查询
SELECT *
FROM 表名
START WITH 字符字段名 ='条件值' -- (起始条件)
CONNECT BY PRIOR 父键字段名 = 主键字段名
【Oracle】SQL笔记的更多相关文章
- ORACLE SQL 笔记
根据数据权限查询 SELECT * FROM ( SELECT ROWNUM AS ROWNO, AA.* FROM ( SELECT DISTINCT A.OBJECTID InstanceID , ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Oracle学习笔记之四,SQL语言入门
1. SQL语言概述 1.1 SQL语言特点 集合性,SQL可以的高层的数据结构上进行工作,工作时不是单条地处理记录,而对数据进行成组的处理. 统一性,操作任务主要包括:查询数据:插入.修改和删除数据 ...
- oracle学习笔记(十七) PL/SQL高级应用
PL/SQL高级应用 动态SQL 在PL/SQL中,不能直接执行DDL(create,alter,drop),得使用动态SQL,当然,除了DDL,动态SQL也可以执行DML(select,insert ...
- oracle sql 高级编程 历史笔记整理
20130909 周一 oracle sql 开发指南 第7章 高级查询 1.层次化查询select level,ttt.*,sys_connect_by_path(ttt.col1,',') fro ...
- SQL 笔记 By 华仔
-------------------------------------读书笔记------------------------------- 笔记1-徐 最常用的几种备份方法 笔记2-徐 收缩数据 ...
- ORACLE存储过程笔记3
ORACLE存储过程笔记3 流程控制 1.条件 if expression thenpl/sql or sqlend if; if expression thenpl/sql or sqlel ...
- ORACLE存储过程笔记1
ORACLE存储过程笔记1 一.基本语法(以及与informix的比较) create [or replace] procedure procedure_name (varible {IN|OUT ...
- oracle学习笔记第一天
oracle学习笔记第一天 --oracle学习的第一天 --一.几个基础的关键字 1.select select (挑选) 挑选出显示的--列--(可以多列,用“,”隔开,*表示所有列),为一条 ...
- Oracle SQL优化器简介
目录 一.Oracle的优化器 1.1 优化器简介 1.2 SQL执行过程 二.优化器优化方式 2.1 优化器的优化方式 2.2 基于规则的优化器 2.3 基于成本的优化器 三.优化器优化模式 3.1 ...
随机推荐
- bash: _get_comp_words_by_ref: command not found 报错
没有安装补全的包 错误信息 bash: _get_comp_words_by_ref: command not found 表明你的 shell 中可能存在补全功能的问题. 通常,这种错误发生在你的系 ...
- Vue 3 Teleport:掌控渲染的艺术
title: Vue 3 Teleport:掌控渲染的艺术 date: 2024/6/5 updated: 2024/6/5 description: 这篇文章介绍了Vue3框架中的一个创新特性--T ...
- kettle从入门到精通 第六十课 ETL之kettle for循环处理每条数据,so easy!
1.kettle原生是支持for循环处理的,无需通过javascript脚本或者java脚本开发for循环控制.当然如果想通过脚本挑战下也是可以的. 本节课主要讲解如何通过kettle中的job来实现 ...
- java堆和栈有哪些区别
java堆和栈有哪些区别 Java堆和栈是Java虚拟机(JVM)中的两个重要概念,它们在内存管理.存储对象和执行线程等方面有明显的区别. 1.内存分配和管理Java堆是动态分配的内存区域,主要用来存 ...
- Fastjson基础环境配置与Java基础概念
Preface 此篇系列文章将会从 Java 的基础语法开始,以 Fastjson 的各个反序列化漏洞分析为结尾,详细记录如何从一个具有基础面向对象编程但毫无 Java 基础的小白成长为了解 Fast ...
- HDU1010第一道DFS
DFS就是深度搜索算法....感觉就像破案一样.... #include<iostream> #include<cstdio> #include<cstring> ...
- ClickHouse介绍(一)初次使用
ClickHouse使用 ClickHouse是一个面向列存储的OLAP分析数据库,以其强大的分析速度而闻名.有关ClickHouse的介绍可以参考其官网说明[1].本文主要介绍它的基本使用. 1. ...
- .NET Core WebApi接口ip限流实践
.NET Core WebApi接口ip限流实践 前言 之前一直想实现接口限流,但一直没去实现,然后刚好看到一篇文章是基于AspNetCoreRateLimit 组件的限流策略.这个组件不做多的介绍, ...
- 为什么Linux不能在中断中睡眠
中断分析 首先来看中断的流程: 1.进入中断处理程序---> 2.保存关键上下文----> 3.开中断(sti指令)---> /* 硬中断:对应于1.2.3步骤. 在这几个步骤中,所 ...
- Webpack5
Webpack是一款模块打包工具,可以把多个文件打包成一个或几个文件,它不仅能打包JS文件, 还能打包css, image等静态资源.当然,在默认情况下,它只打包JS文件和JSON文件,因为它只认识J ...