SQL:DQL数据查询语言以及系统函数(oracle)

SQL

Structured Query Language,结构化查询语言, 是一种用于管理和操作关系数据库的标准编程语言。

sql的分类

DQL(Data Query Language):数据查询语言

DDL(Data Definition Language):数据定义语言

DML(Data Manipulation Language):数据操纵语言

DCL(Data Control Language):数据控制语言

DTL(Data Transaction Language):数据事务语言 

TCL(Transaction Control Language):事务控制语言

DQL数据查询语言

简单查询

SELECT 内容  FROM 数据来源;

条件查询

 SELECT 内容 FROM 数据来源 WHERE 条件表达式 ;

比较运算符:`<`、`>`、`<=`、`>=`、`=`、`!=   <>`

逻辑运算符:AND 、OR、 NOT

模糊查询

Like  

NOT LIKE 

分组查询

Group BY

条件过滤

where 

组内查询

having

去重

distinct

排序

ORDER BY : ASC 升序(默认)、DESC 降序

范围查询

BETWEEN ... AND
IN

NOT IN
ANY
ALL

集合操作符

   并集:UNION、UNION ALL
   交集:INTERSECT
   差集:MINUS

子查询

select 里面的select

子查询通常被嵌套在主查询中,可以出现在 SELECTFROMWHEREHAVING 子句中。子查询的结果可以是一个值、一行数据或一个表

联合查询/多表查询

    交叉连接  cross join >>笛卡尔积
    内连接    join ... on >>只保留匹配上的数据
    外连接 ( 左外连接 left join...  on   , 右外连接 right  join ... on , 全外连接 full  join )
    自连接 ( 通过取别名的方式让表与自身进行连接, 自连接本质上属于内连接的一种,也可以作为其他连接 )
    自然连接 natural join  (内连接的一种,同字段会去重)

系统函数

数值函数

       abs (数值)   绝对值函数
        CEIL(数值)    向上取整函数
        FLOOR(数值)    向下取整函数
        ROUND(数值, 小数位数)   四舍五入函数
        MOD(数值1,数值2)   取余函数(数值1/数值2的余数)
        POWER(数值1,数值2)   幂函数(数值1的数值2次幂)
        TRUNC(数值, 小数位数)   截断函数(将数值截断到指定的小数位数,不进行四舍五入)

 字符函数

        substr(string, start, length)  从字符串中提取子字符串
        INSTR(string, substring, start_position, occurrence)返回子字符串在字符串中第一次出现的位置,如果没有找到则返回 0
      
        UPPER(string)    将字符串转换为大写。
        lower(string)    将字符串转换为小写。
        initcap(string)  将字符串的每个单词的首字母大写,其余字母小写
        CONCAT(string1, string2)   拼接2个字符串, 拼接多个使用拼接符( 比如 string1|| string2||string3 )
        length(string)   字符串的长度(字符数)

去除空格函数 trim  

LTRIM(string, character) 从字符串的左侧删除指定的字符(默认为空格),即ltrim(string)
RTRIM(string, character)   从字符串的右侧删除指定的字符(默认为空格)即rtrim(string)

trim(string)从字符串的两端删除空格

完整: TRIM([LEADING | TRAILING | BOTH] character FROM string)

参数

 
    

填充函数 lpad 和rpad

 LPAD(string, length, character)  左填充函数  

在字符串的左侧填充指定的字符,直到达到指定的长度


RPAD(string, length, character)  右填充函数  

在字符串的右侧填充指定的字符,直到达到指定的长度

替换函数 TRANSLATE

TRANSLATE(string, from_string, to_string)  

将字符串中的某些字符替换为其他字符,一对一替换

替换函数 REPLACE

REPLACE(string, substring, replace_string)  

将字符串中的某个子字符串替换为另一个字符串,整体替换

日期函数

        sysdate  返回系统的当前日期和时间
        MONTHS_BETWEEN(date1, date2)    计算两个日期之间的月数差
        LAST_DAY(date)  返回指定日期所在月份的最后一天
        NEXT_DAY(date, day_of_week)   返回指定日期之后的第一个指定星期几的日期


        ADD_MONTHS(date, num_months)  在指定日期上加上指定的月数
        TRUNC(date, format)    截断日期到指定的精度(如年、月、日等)

转换函数

to_char

TO_CHAR(value, format)

to_date 

TO_DATE(string, format)

to_number 

TO_NUMBER(string, format)

示例: 去除$符号 

聚合函数

sum 计算数值列的总和

max 返回某列中的最大值
min 返回某列中的最小值
avg  计算数值列的平均值
count 计算行数(非空值)的数量
listagg  将多行数据连接成一个字符串 (Oracle 11g及以上版本)

LISTAGG(column_name, delimiter) WITHIN GROUP (ORDER BY column_name)

 wm_concat  将多行数据连接成一个字符串(Oracle 10g及以下版本) 

通用函数 

NVL(value1, value2)

NVL2(value1, value2, value3)

case when 条件逻辑 

DECODE(value, if1, then1, if2, then2, ..., else_value)

主要用于等值比较

COALESCE(value1, value2, ..., valueN)

返回参数列表中第一个非 NULL 的值。如果所有参数都为 NULL,则返回 NULL

GREATEST(value1, value2, ..., valueN)

返回参数列表中的最大值

LEAST(value1, value2, ..., valueN)

返回参数列表中的最小值

开窗函数

聚合开窗

sum() over

max() over

min() over

avg() over

count() over

listagg() over

wm_concat()over 

位移开窗函数

lead() over  

用于获取当前行之后的一行或多行数据


lad() over   

用于获取当前行之前的一行或多行数据

排序开窗函数

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/23774.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

从单片机的启动说起一个单片机到点灯发生了什么下——使用GPIO点一个灯

目录 前言 HAL库对GPIO的抽象 核心分析&#xff1a;HAL_GPIO_Init 前言 我们终于到达了熟悉的地方&#xff0c;对GPIO的初始化。经过漫长的铺垫&#xff0c;我们终于历经千辛万苦&#xff0c;来到了这里。关于GPIO的八种模式等更加详细的细节&#xff0c;由于只是点个灯&am…

提效10倍:基于Paimon+Dolphin湖仓一体新架构在阿里妈妈品牌业务探索实践

1. 业务背景 阿里妈妈品牌广告数据包括投放引擎、下发、曝光、点击等日志&#xff0c;面向运筹调控、算法特征、分析报表、诊断监控等应用场景&#xff0c;进行了品牌数仓能力建设。随着业务发展&#xff0c;基于Lambda架构的数仓开发模式&#xff0c;缺陷日益突出&#xff1a;…

一文详解U盘启动UEFI/Legacy方式以及GPT/MBR关系

对于装系统的老手而说一直想研究一下装系统的原理&#xff0c;以及面对一些问题时的解决思路&#xff0c;故对以前的方法进行原理上的解释&#xff0c;主要想理解其底层原理。 引导模式 MBR分区可以同时支持UEFI和Legacy引导&#xff0c;我们可以看一下微pe制作的启动盘&#…

基于Docker的前端环境管理:从开发环境到生产部署的实现方案

# 基于Docker的前端环境管理&#xff1a;从开发环境到生产部署的实现方案 简介及前端开发环境挑战 简介 是一种容器化平台&#xff0c;可以将应用程序及其依赖项打包为一个容器&#xff0c;提供一种轻量级、可移植的环境。它能够简化开发、部署和运维的流程&#xff0c;提高…

连锁管理系统的五大核心设计及 PHP 源码分享

在当今竞争激烈的连锁商业领域&#xff0c;高效的管理系统是企业脱颖而出的关键。商淘云连锁管理系统凭借其卓越的功能和灵活的架构&#xff0c;为连锁企业提供了强大的运营支持。在这里详细介绍其五大核心设计&#xff0c;并分享相关的 PHP 源码示例。 一、总部进销存管理 &a…

C语言基本知识------指针(4)

1. 回调函数是什么&#xff1f; 回调函数就是⼀个通过函数指针调用的函数。 如果你把函数的指针&#xff08;地址&#xff09;作为参数传递给另⼀个函数&#xff0c;当这个指针被⽤来调⽤其所指向的函数 时&#xff0c;被调⽤的函数就是回调函数。 void qsort(void base,//指针…

MTK-Android13-包安装器PackageInstaller 静默安装实现

目的 我们最终是为了搞明白安装的整个流程。一方面通过安卓系统自带的包安装器来了解PMS 安装流程&#xff1b;另一方面熟悉框架层Framework 针对Android apk 安装流程。 前两篇文章分析了PackagerInstaller 安装流程。 Android13-包安装器PackageInstaller-之apk安装跳转 An…

qt-C++笔记之创建和初始化 `QGraphicsScene` 和 `QGraphicsView` 并关联视图和场景的方法

qt-C++笔记之创建和初始化 QGraphicsScene 和 QGraphicsView 并关联视图和场景的方法 code review! 参考笔记 1.qt-C++笔记之创建和初始化 QGraphicsScene 和 QGraphicsView 并关联视图和场景的方法 2.qt-C++笔记之QGraphicsScene和 QGraphicsView中setScene、通过scene得到vie…

《一起打怪兽吧》——自制一款Python小游戏

《一起消灭怪兽吧》——在深夜的屏幕前&#xff0c;你是指引光明的勇者。键盘化作利剑&#xff0c;用方向键在像素战场游走&#xff0c;发射吧&#xff0c;每次击杀都有代码绽放的烟火。这款由Python与Pygame铸就的小游戏&#xff0c;让0与1的世界生长出童真的浪漫。 文章目录…

IDEA中查询Maven项目的依赖树

在Maven项目中&#xff0c;查看项目的依赖树是一个常见的需求&#xff0c;特别是当你需要了解项目中直接或间接依赖了哪些库及其版本时。你可以通过命令行使用Maven的dependency:tree插件来做到这一点。这个命令会列出项目中所有依赖的树状结构。 打开idea项目的终端&#xff…

Maven——Maven开发经验总结(1)

摘要 本文总结了 Maven 开发中的多个关键经验&#xff0c;包括如何根据版本号决定推送到 releases 或 snapshots 仓库&#xff0c;如何在构建过程中跳过测试&#xff0c;父项目如何控制子项目依赖版本&#xff0c;父项目依赖是否能传递到子项目&#xff0c;如何跳过 Maven dep…

05. Springboot admin集成Actuator(一)

目录 1、前言 2、Actuator监控端点 2.1、健康检查 2.2、信息端点 2.3、环境信息 2.4、度量指标 2.5、日志文件查看 2.6、追踪信息 2.7、Beans信息 2.8、Mappings信息 3、快速使用 2.1、添加依赖 2.2、添加配置文件 2.3、启动程序 4、自定义端点Endpoint 5、自定…

【GESP】C++二级模拟 luogu-b3995, [GESP 二级模拟] 小洛的田字矩阵

GESP二级模拟题&#xff0c;多层循环、分支语句练习&#xff0c;难度★✮☆☆☆。 题目题解详见&#xff1a;https://www.coderli.com/gesp-2-luogu-b3995/ 【GESP】C二级模拟 luogu-b3995, [GESP 二级模拟] 小洛的田字矩阵 | OneCoderGESP二级模拟题&#xff0c;多层循环、分…

uniapp在app下使用mqtt协议!!!支持vue3

什么&#xff1f;打包空白&#xff1f;分享一下我的解决方法&#xff01; 第一步 找大师算过了&#xff0c;装4.1版本运气好&#xff01; 所以根目录执行命令… npm install mqtt4.1.0第二步 自己封装一个mqtt文件方便后期开坛做法&#xff01; // utils/mqtt.js import mqt…

C++程序员内功修炼——Linux C/C++编程技术汇总

在软件开发的宏大版图中&#xff0c;C 语言宛如一座巍峨的高山&#xff0c;吸引着无数开发者攀登探索。而 Linux 操作系统&#xff0c;以其开源、稳定、高效的特性&#xff0c;成为了众多开发者钟爱的开发平台。将 C 与 Linux 相结合&#xff0c;就如同为开发者配备了一把无坚不…

【Python量化金融实战】-第2章:金融市场数据获取与处理:2.1 数据源概览:Tushare、AkShare、Baostock、通联数据(DataAPI)

本章将详细介绍四大主流金融数据源&#xff08;Tushare、AkShare、Baostock、通联数据&#xff08;DataAPI&#xff09;&#xff09;&#xff0c;分析其特点与适用场景&#xff0c;并通过实战案例展示数据获取与处理的全流程。 &#x1f449; 点击关注不迷路 &#x1f449; 点击…

一文讲解Redis的持久化方式及各自的区别

一文讲解Redis的持久化方式及各自的区别 Redis 的持久化机制保证了 Redis 服务器在重启后数据不丢失&#xff0c;通过 RDB 和 AOF 文件来恢复内存中原有的数据。 这两种持久化方式可以单独使用&#xff0c;也可以同时使用。 三分恶面渣逆袭&#xff1a;Redis持久化的两种方式…

STM32 利用SysTick实现高精度计时

STM32 HAL库利用ARM Cortex-M内核自带的24位递减计数器SysTick(系统节拍)&#xff0c;它属于 NVIC的一部分,且可以产生 SysTick 异常(异常类型#15)。通过读取并判断计数值来实现精确延时&#xff0c;从0xFFFFFF向下计数到0。可以用作I2C、SPI通信中的时序控制&#xff0c;RTOS环…

图像金字塔

图像金字塔&#xff08;MATLAB 版本&#xff09; 目录 图像金字塔&#xff08;MATLAB 版本&#xff09;一、 生成图像金字塔二、 Matlab实践操作三、实践问题 一、 生成图像金字塔 在 MATLAB 中&#xff0c;可以使用 impyramid 函数来生成图像金字塔。 代码示例&#xff1a; m…

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷(一)

2024-2025 学年广东省职业院校技能大赛 “信息安全管理与评估”赛项 技能测试试卷&#xff08;一&#xff09; 第一部分&#xff1a;网络平台搭建与设备安全防护任务书DCRS:DCFW:DCWS:WAF: 第二部分&#xff1a;网络安全事件响应、数字取证调查、应用程序安全任务书任务 1&…