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

news/2025/2/25 18:12:42

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.niftyadmin.cn/n/5865813.html

相关文章

12. 三昧真火焚环劫 - 环形链表检测(快慢指针)

哪吒在数据修仙界中继续他的修炼之旅。这一次,他来到了一片神秘的环形山脉,山脉中有一条蜿蜒的火龙,它象征着环形链表。山脉的入口处有一块巨大的石碑,上面刻着一行文字:“欲破此山,需以三昧真火之力,焚环劫之链,快慢指针定环踪。” 哪吒定睛一看,石碑上还有一行小字…

解决idea一个非常坑的问题

dea中经常会遇到这样问题&#xff0c;明明maven的pom中已经添加了依赖&#xff0c;总是提示jar包找不到&#xff0c; 于是双击clean &#xff0c;或者 点击 reload maven &#xff0c;都是不好使。如 javax.crypto.spec.IvParameterSpec;这个包&#xff0c;竟然飘红了。我clean…

人工智能(AI):科技新纪元的领航者

摘要 人工智能&#xff08;AI&#xff09;作为当今科技领域最具变革性的力量之一&#xff0c;正以惊人的速度重塑着我们的世界。本文旨在全面且专业地介绍人工智能&#xff0c;涵盖其定义、发展历程、关键技术、应用领域、面临的挑战以及未来展望等方面&#xff0c;以期为读者…

git上传gitee仓库---简单方便

安装完git以后 在资源管理器中右键&#xff1a; 选择Open Git Bash here 接着gitclone&#xff0c;从gitee上面复制链接: https://gitee.com/hekai666/python-deeplearning.git 粘贴过来&#xff1a; 回车&#xff1a; 然后在本地就会多出来一个文件&#xff1a; 打开文件夹以…

【STL】4.<list>

list 前言list容器一.list初始化二.常用函数三.排序 总结 前言 stl系列主要讲述有关stl的文章&#xff0c;使用STL可以大大提高程序开发的效率和代码的可维护性&#xff0c;且在算法比赛中&#xff0c;STL可以帮助我们更方便地实现各种算法。提高我们的效率。 list容器 要使用…

DeepSeek行业应用实践报告-智灵动力【112页PPT全】

DeepSeek&#xff08;深度搜索&#xff09;近期引发广泛关注并成为众多企业/开发者争相接入的现象&#xff0c;主要源于其在技术突破、市场需求适配性及生态建设等方面的综合优势。以下是关键原因分析&#xff1a; 一、技术核心优势 开源与低成本 DeepSeek基于开源架构&#xf…

ClickHouse系列之ClickHouse使用

ClickHouse系列之ClickHouse使用 1 ClickHouse 数据类型1.1 有符号整数1.2 无符号整数1.3 浮点数1.4 字符串类型1.4.1 String 1.5 时间类型Date1.6 DateTime 2 Clickhouse引擎类型2.1 Log系列引擎2.1.1 TinyLog引擎2.1.1.1 建表语法2.1.1.2 示例 2.2 MergeTree系列表引擎2.2.1 …

DeepSeek开源周高能开场:新一代高效推理引擎FlashMLA正式发布

全球AI社区沸腾&#xff01;DeepSeek开源周高能开场&#xff1a;新一代高效推理引擎FlashMLA正式发布 北京时间今晨&#xff0c;国内领先的人工智能研究机构深度求索&#xff08;DeepSeek&#xff09;在GitHub平台重磅推出全新开源项目FlashMLA&#xff0c;以破竹之势在开源界…