4、oracle数据库的查询基础

本文深入解析Oracle数据库的查询技术,涵盖运算符、关键字、函数等核心内容,助您掌握高效的数据检索与处理方法。

ORACLE查询基础

介绍oracle下数据的查询时用到的一些运算符、关键字和函数。

1.运算符

在进行数据查询时,有的时候不只是查询字段值,还需要做一些数据处理的操作,这时候就用到了运算符

-- 算术运算符

+ - * /

-- 连接运算符

||

-- 比较运算符

= != <> < > <= >= any all

-- SQL运算符

like‘%a%’in between  is null  is nan
可以在以上运算符之前添加 not 来取反

-- 逻辑运算符

And or

2.关键字

-- 别名

as

-- 过滤

distinct

-- dual表

-- 运行时参数值(运行时会提示添加参数值)

select * from emp where empno=&arg;

-- 查看表结构

Desc 表

-- 分组

Group by

-- 排序

Order by

3.操作函数

Oracle有一些内置的函数,可直接使用,简化操作

3.1 单行函数

用于操作一条记录的函数

3.1.1字符函数

用于操作字符串

-- 拼接x和y ,功能相似于||
CONCAT(x,y)

-- 将字符串的首字母大写,其他小写
INITCAP(x)

-- 返回表达式中的字符数,当处理的是数字时,小数点后面不全为0,则小数点算在长度之内
LENGTH(x)

-- 将字符串装换成小写
LOWER(x)

-- 将字符串转换成大写
UPPER(x)
-- 使用string将x进行左填充成长度为width的字符串
LPAD(x,width,string)

-- 使用string将x进行右填充成长度为width的字符串
RPAD(x,width,string)
-- 从x字符串的左边去掉所有string字符串
LTRIM(x,string)

-- 从x字符串的右边去掉所有string字符串
RTRIM(x,string)

--从x的两侧去除string字符串去空格时,string啥也不写即可,默认去空格
TRIM(string from x)
-- 用于将NULL值转换成value值,若x为null,则将其转换成value,若不为null,则打印x,value只能为数字型
NVL(x,value)

-- 若x不为null,则返回value1,若x不为null,则返回value2,value可以为string或者数字型,应该为一个值
NVL(x,value1,value2)
-- 从x中搜索string1字符串,并使用string2字符串替换,进行显示,类型之间随意替换
REPLACE(x,string1,string2)
-- 通过音标去查找
SOUNDEX(ename) = SOUNDEX('SMITH')
-- 截取函数,在x字符串中,截取start开始,长度为length的字符串
SUBSTR(x,start,length)

3.1.2数字函数

用于数学计算

ABS(value) 返回value的绝对值
CEIL(value) 返回大于或者等于value的最小整数
FLOOR(value) 返回小于或者等于value的最大整数
POWER(value,n) 返回value的n次幂
MOD(m,n) 返回m和n取余数的结果
SQRT(value) 对value进行开放
TRUNC(value,n) 对value进行截断,若n>0,则保留n位小数,n<0,则保留-n位整数位,n=0,则去掉小数部分
ROUND(vale,[,n]) 对value进行四舍五入,保留小数点右侧的n位,默认n=0

3.1.3转换函数

将值从一种类型转换成另一种类型,或从一种格式转换成另一种格式

-- 将x转换成字符串,format为转换的格式,可以为数字格式或者是日期格式

TO_CHAR(x,[,format])

 

-- 将x转换成数字,可以指定format格式

TO_NUMBER(x[,format])


-- 将x转换为指定的兼容的数据库类型

CAST(x AS type)


3.1.4 日期函数

-- TO_DATE(x,[,format]) 将x字符串转换成日期
select to_date('2017-8-9 13-5-6','yyyy/mm/dd hh24:ms:ss') from dual;

3.2 聚合函数

用于操作多条记录的函数,一般与group by分组关键字合用

AVG(X) 用于获取平均值
COUNT(X) 用于获取总记录数
MAX(X) 用于获取最大值记录
MIN(X) 用于获取最小值记录
SUM(X) 用于获取所有记录值相加和

4.分组

分组的关键词是group by,当使用分组时,所查询的字段要么作为分组项可以显示,要么放在聚合函数中,不然sql语句运行会出现错误。分组时,首先执行where筛选掉不符合条件的行;将符合条件的行使用group by分组;最后使用having对分组统计的结果进行筛选。

-- GROUP BY 使用时可以不用having,但是使用having就必须使用GROUP BY
-- having一般称为二次筛选,是在内存中操作的

SELECT ... FROM ...WHERE
GROUP BY ...
HAVING...
ORDER BY...

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值