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

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

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

相关文章

2018年4月更新70多个公司dnc招聘职位

2018年4月更新70多个公司dnc招聘职位请在本页回复&#xff0c;补充dnc招聘信息、公司案例dnc简介dnc .NET Core、dotnet Core简写dnc是微软新一代主力编程平台&#xff0c;开源、免费、跨平台、轻量级、高性能&#xff0c;可部署到Linux、Docker、k8s等环境&#xff0c;适合开…

P1552-[APIO2012]派遣【左偏树】

正题 题目链接:https://www.luogu.com.cn/problem/P1552 题目大意 一个nnn个点森林&#xff0c;每个点有价值和代价&#xff0c;选择一个点并在这个点的子树中选择一些点使得。 选择的点数∗该点的价值选择的点数*该点的价值选择的点数∗该点的价值最大且选择的点的代价之和不…

5、oracle下数据完整性约束

ORACLE下数据完整性约束 为了保证数据的完整性和结构的正确性&#xff0c;oracle也有很多约束条件。 1.数据完整性 为了保证数据的完整性&#xff0c;一般对数据列&#xff08;字段&#xff09;进行如下约束&#xff0c;主键约束&#xff08;PRIMARY KEY&#xff09;、唯一键…

把旧系统迁移到.Net Core 2.0 日记(1) - Startup.cs 解析

因为自己到开发电脑转到Mac Air&#xff0c;之前的Webform/MVC应用在Mac 跑不起来&#xff0c;而且.Net Core 2.0 已经比较稳定了。1. 为什么会有跨平台的.Net Core 近年来&#xff0c;我们已经进入云计算时代&#xff0c;在云平台的PaSS和SaSS上也是发生了大幅度的进化&#x…

P3261-[JLOI2015]城池攻占【左偏树】

正题 题目链接:https://www.luogu.com.cn/problem/P3261 题目大意 nnn个点的树&#xff0c;每个节点有一个防御值和一个攻击后的影响(让你的伤害加上一个数或者乘上一个数) 然后mmm个骑士&#xff0c;给定初始攻击点和初始伤害&#xff0c;不停往上走&#xff0c;遇到防御小于…

6、oracle数据库下查询操作

ORACLE下查询操作 针对数据库操作最多的就是数据查询&#xff0c;这里分享一个我常用的方法&#xff0c;看到需求后&#xff0c;先确定查询范围&#xff0c;就是需要查询哪些表&#xff1b;之后确定查询条件&#xff1b;最后写出查询的字段。 ORACLE中之前说过有两个伪列ROWI…

ASP.NET Core 2.0 : 图说管道,唐僧扫塔的故事

本文通过一张GIF动图来继续聊一下ASP.NET Core的请求处理管道&#xff0c;从管道的配置、构建以及请求处理流程等方面做一下详细的研究。&#xff08;ASP.NET Core系列目录&#xff09;一、概述上文说到&#xff0c;请求是经过 Server监听>处理成httpContext>Application…

P3521-[POI2011]ROT-Tree【线段树合并】

正题 题目链接:https://www.luogu.com.cn/problem/P3521 题目大意 一棵二叉树&#xff0c;叶子节点有权值&#xff0c;对于每个非叶子节点可以选择交换左右节点&#xff0c;求最后遍历出来的叶子节点权值逆序对最少。 解题思路 十分显然一个节点是否交换是不影响该节点子树之…

7、oracle下的序列

ORACLE下的序列 序列是一种数据库对象&#xff0c;用于生成一系列的整数&#xff0c;可以用来唯一的标记一条记录&#xff0c;在mysql种有字段自增的概念&#xff0c;但是oracle种是没有字段自增的&#xff0c;所以可以使用序列来作为主键的自动生成方式。 1.序列的使用 序列…

ASP.NET MVC应用迁移到ASP.NET Core及其异同简介

ASP.NET Core是微软新推出支持跨平台、高性能、开源的开发框架&#xff0c;相比起原有的ASP.NET来说&#xff0c;ASP.NET Core更适合开发现代应用程序&#xff0c;如跨平台、Dorker的支持、集成现代前端开发框架(如npm、bower、gulp等等)。另外相比ASP.NET它的性能更好&#xf…

Div1 小A抓小B tarjan双连通分量缩点+dfs

题目描述 小A和小B在一个无向图G上进行一个游戏。图G是连通的&#xff0c;有n个点&#xff0c;n条边&#xff0c;无重边&#xff0c;无自环&#xff0c;结点编号为1~n。游戏开始前小A在结点x&#xff0c;小B在结点y&#xff08;x≠y&#xff09;。游戏开始后&#xff0c;小A和小…

P3809-[模板]后缀排序(SA)

正题 题目链接:https://www.luogu.com.cn/problem/P3809 题目大意 长度为nnn的字符串&#xff0c;求它的字符数组(后缀排序后排名为iii的在哪个位置)。 解题思路 大概思路就是倍增排序&#xff0c;先排每个后缀的第一个字符&#xff0c;然后是两个&#xff0c;然后是四个&am…

8、oracle数据库下的索引

ORACLE下的索引 索引是oracle下的一类对象&#xff0c;主要用于提高查询的效率。 1.操作索引 1.1 创建、修改索引 -- 添加一般索引 create index i_test_tname on test(tname); -- 添加唯一索引&#xff0c;不能包含相同的值 create unique index i_test_tname on test(tnam…

使用 C# (.NET Core) 实现模板方法模式 (Template Method Pattern)

本文的概念内容来自深入浅出设计模式一书.项目需求有一家咖啡店, 供应咖啡和茶, 它们的工序如下:咖啡:茶:可以看到咖啡和茶的制作工序是差不多的, 都是有4步, 其中有两步它们两个是一样的, 另外两步虽然具体内容不一样, 但是都做做的同一类工作.现在问题也有了, 当前的设计两个…

P2396-yyylovesMathsVII【状压dp】

正题 题目链接:https://www.luogu.com.cn/problem/P2396 题目大意 nnn个数字&#xff0c;依次选择若干个数字使得没有任何一个前缀和等于厄运数字&#xff0c;厄运数字有mmm个。 解题思路 先预处理出disidis_idisi​表示集合iii的数字和。 然后对于disidis_idisi​不等于厄运…

9、oracle数据库下的视图和同义词

ORACLE下的视图和同义词 1.视图 视图就是一个查询的结果&#xff0c;可能包含一张表或者多张表的信息&#xff0c;创建视图其目的在于&#xff0c;便于查看表中的信息。视图只是在逻辑上存在。 1.1创建/修改视图 创建视图一定要有CREATE VIEW权限&#xff0c;基本语法为&am…

.NET Core Community 首个千星项目诞生:CAP

项目简介在我们构建 SOA 或者 微服务系统的过程中&#xff0c;我们通常需要使用事件来对各个服务进行集成&#xff0c;在这过程中简单的使用消息队列并不能保证数据的最终一致性&#xff0c; CAP 采用的是和当前数据库集成的本地消息表的方案来解决在分布式系统互相调用的各个环…

P2463-[SDOI2008]Sandy的卡片【SA,二分答案】

正题 题目链接:https://www.luogu.com.cn/problem/P2463 题目大意 nnn个长度不同的数字序列&#xff0c;序列的子串相同的定义是该子串相邻的两两差相同。 求公共子串的最长长度。 解题思路 做一个差分后问题就变为了求nnn个串的最长公共子串。 我们将所有的字符串接在一起…

10、oracle下PL/SQL编程基础

ORACLE下的PL/SQL编程基础 PL/SQL语言是程序化程序设计语言&#xff0c;块是PL/SQL编程中的基本结构&#xff0c;其优点在于支持SQL、支持面向对象编程、性能好、可移植性、与sql集成、安全性高等。 1.基本语法 1.1 基本语法结构 [set severoutput on] declare 变量&…

.NET Core 从 Github到 Nuget 持续集成、部署

一.前言Nuget 作为一个.NET研发人员&#xff0c;我想你都不会陌生&#xff0c;他为我们提供非常方便的程序包管理&#xff0c;不管是版本&#xff0c;还是包的依赖都能轻松应对&#xff0c;可以说是我们的好助手。而 Nuget 除了官方nuget.org以外&#xff0c;我们也可以用起提供…