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...

4、oracle数据库的查询基础相关推荐

  1. oracle 数据库去重查询

    oracle数据库中有如下一张表,包含id,loginid,name,researchtime等字段,其中name字段中的数据有重复,查询数据时要重复数据只取一条,利用row_number ()ove ...

  2. oracle 查看并行数据库,Oracle数据库并行查询出错的解决方法

    Oracle的并行查询是使用多个操作系统级别的Server Process来同时完成一个SQL查询,本文讲解Oracle数据库并行查询出错的解决方法如下: 1.错误描述 ORA-12801: 并行查询 ...

  3. php 打印oracle数组,ThinkPHP框架自身$map数组查询语言where条件对应oracle数据库时间戳查询方法...

    oracle数据库时间戳 查询 sql: to_char(date,'yyyy-mm-dd') >= '2013-02-20' and to_char(date,'yyyy-mm-dd') &l ...

  4. oracle并行查询结果不唯一,Oracle数据库并行查询出错的解决方法

    Oracle的并行查询是使用多个操作系统级别的Server Process来同时完成一个SQL查询,本文讲解Oracle数据库并行查询出错的解决方法如下: 1.错误描述 sql;"> ...

  5. mysql long varchar2_案例:Oracle数据库long查询结果转换为varchar2类型方法的操作步骤...

    天萃荷净 将Oracle数据库查询出来的long结果转换为varchar2类型数据 来自Thomas Kyte <Oracle9i/10g/11g编程艺术> 12章节中.由于long的操作 ...

  6. Oracle数据库数据查询语句示例(包含大部分常用语句)

    Oracle数据库数据查询语句示例(包含大部分常用语句) 目标 本文用到的关系模式 语句示例 1.在创建的s,p,j和spj表中完成以下查询 (1)查询零件重量在10-20之间(包括10和20)的零件 ...

  7. oracle时间24小时格式转换,在oracle数据库中查询时间并转为24小时制--------------String转Date类型或者Date转String类型...

    1.在Oracle数据库中查询时间的时候,首先就是把日期从date类型的转化为String类型的. 2.将date类型的转成String类型的,直接调用传入date类型的参数,返回String类型的字 ...

  8. Oracle数据库的并行查询,解决Oracle数据库并行查询出错的方法

    当我们在使用Oracle数据库的时候会发现Oracle数据库并行查询出错这一问题,那么你知道如何解决Oracle数据库并行查询出错吗?下面就是解决Oracle数据库并行查询出错的方法介绍. Oracl ...

  9. oracle 数据库怎么查询,Oracle 数据库基础查询

    1.1文件存储 对数据的存储需求一直存在.数据保存的方式,经历了手工管理.文件管理,数据库管理阶段. 文件存储方式保存数据的弊端: 1.缺乏对数据的整体管理,数据不便修改: 2.不利于数据分析和共享; ...

最新文章

  1. oracle bl编译,使用 PL/SQL 条件编译
  2. 入门一班 20180917 软硬连接
  3. html中加入好看的行号,仅使用CSS在pre上创建行号
  4. PopupMenu控件的使用
  5. 从中工毕业到年薪30万,我用了2年9个月
  6. html导航教程视频,导航_HTML+CSS前端基础知识教程_腾讯视频
  7. Tensorflow学习——导入数据
  8. 一步一步打造MySQL高可用平台
  9. ASP.NET MVC2 使用绑定时 等号和冒号的差别 %=%和%:%的区别
  10. c语言基础教程吕答案,全国计算机等级考试二级教程C语言程序设计课后习题答案.docx...
  11. Android系统(274)---如何预置APK
  12. 所有for循环都可以用while循环改写python_python-for循环与while循环
  13. mac磁盘格式转换操作方法
  14. 超分 Super-Resolution
  15. 在线html5行情,Html5版本的全套股票行情图
  16. 获取b站某个up的视频aid、cid
  17. QGC编译报错error C2220: 警告被视为错误 最佳解决方法
  18. “交通·未来”第17期:深度出行感知,从出行需求预测到出行目的地预测
  19. 计算机视觉方向面试题总结(二):图像分割篇
  20. 关于vue组件开发过程中一直报错:This relative module was not found:

热门文章

  1. oracle leg函数,032-函数的嵌套与LEGB原则
  2. oracle dbf文件设置,oracle移动数据dbf文件
  3. 计算机网络实验arp协议分析,计算机网络ARP地址协议解析实验报告
  4. 7-6 列出连通集 (25 分)(详解)
  5. Leetcode 数据结构与算法题解大全——目录(推荐收藏,持续更新)
  6. 使用Microsoft Word2016无法正常对Latex文本转换的踩坑和解决方法
  7. 二叉树的存储结构及四种遍历(C语言)
  8. C++ class实现单向循环链表(完整代码)
  9. 《C++ Primer》2.1.3节练习
  10. Go中new和make的区别