百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

Oracle学习笔记(四)运算符、集合运算、连接查询、伪列

mhr18 2024-09-14 05:29 27 浏览 0 评论

Oracle运算符包括算术运算符、关系运算符和逻辑运算符。

1、Oracle算术运算符

Oracle算术运算符包括+、-、*、/四个,其中/获得的结果是浮点数。

2、Oracle关系运算符

Oracle关系运算符在where条件语句当中经常使用到,常用的关系如下:

符号

解释

符号

解释

=

等于

<>或者!=

不等于

>

大于

>=

大于或者等于

<

小于

<=

小于或者等于

3、Oracle逻辑运算符

Oracle的逻辑运算符有三个:AND、OR、NOT。

4、Oracle字符串连接符||

Oracle中利用字符串连接符||(即双竖线)来连接查询结果。

5、Oracle DISTINCT

Oracle DISTINCT关键字的作用可以对Oracle查询结果进行重复数据的消除。

DISTINCT语法结构:

SELECT DISTINCT 列1,列2,列3... from 表名;

语法解析:

当关键字DISTINCT后面只有一个列1时,表示的是单个字段查询结果的不重复数据,当后面跟着多个列值时,表示的是多个字段组成的查询结果的所有唯一值,进行的是多个字段的分组消除。

6、Oracle 条件查询

Oracle条件查询时经常使用=、IN、LIKE、BETWEEN...AND来作为条件查询的操作符。

=操作符

在条件查询语句中“=”表示列值等于一个固定值所查询出的结果。

IN操作符

在 Where 子句中可以使用 IN 操作符来查询其列值在指定的列表中的查询结果。

BETWEEN...AND

在 WHERE 子句中,可以使用 BETWEEN...AND 操作符来查询列值包含在指定区间内的查询结果 。

LIKE模糊查询

在Oracle条件查询where条件之中,当遇到查询值不清楚时,可以利用模糊查询LIKE关键字进行where条件的模糊查询。LIKE 关键字通过字符匹配检索出所需要的数据行。字符匹配操作可以使用通配符“%”和“_” :

1、%:表示零个或者多个任意字符。

2、_:代表一个任意字符。

3、\:指转义字符,“\%”在字符串中表示一个字符“%”。

7、Oracle集合运算

Oracle集合运算就是把多个查询结果组合成一个查询结果,oralce的集合运算包括:INTERSECT(交集)、UINION ALL(交集重复)、UINION(交集不重复)、MINUS(补集)。

1、INTERSECT(交集),返回两个查询共有的记录。

2、UNION ALL(并集重复),返回各个查询的所有记录,包括重复记录。

3、UNION(并集不重复),返回各个查询的所有记录,不包括重复记录 (重复的记录只取一条)。

4、MINUS(补集),返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录。

当我们使用Oracle集合运算时,要注意每个独立查询的字段名的列名尽量一致(列名不同时,取第一个查询的列名)、列的数据类型、列的个数要一致,不然会报错。

8、Oracle连接查询

Oracle连接查询,包含内关联(inner jion )和外关联(outer join),其中外关联又分为左外关联(left outer join)、右外关联(right outer join)和全外关联(full outer join)其中外关联可以使用(+)来表示。

内连接

Oracle内连接:两张表通过某个字段进行内关联,查询结果是通过该字段按关系运算符匹配出的数据行。其中可以包括:

1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列。

2、不等连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值,这些关系运算符包括>、>=、<=、!>、!<、<>。

外连接:

外连接,返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左外连接或左连接))、右表(右外连接或右连接)或两个边接表(全外连接)中的所有数据行。

1、left join(左联接)等价于(left outer join)返回包括左表中的所有记录和右表中联结字段相等的记录。

2、right join(右联接)等价于(right outer join)返回包括右表中的所有记录和左表中联结字段相等的记录。

3.、full join (全连接)等价于(full outer join)查询结果等于左外连接和右外连接的和。

9、Oracle伪列

Oracle的伪列是Oracle表在存储的过程中或查询的过程中,表会有一些附加列,称为伪列。伪列就像表中的字段一样,但是表中并不存储。伪列只能查询,不能增删改。Oracle的伪列有:rowid、rownum。

ORACLE ROWID

Oracle表中的每一行在数据文件中都有一个物理地址, ROWID 伪列返回的就是该行的物理地址。使用 ROWID 可以快速的定位表中的某一行。ROWID 值可以唯一的标识表中的一行。通过Oracle select 查询出来的ROWID,返回的就是该行数据的物理地址。

ROWID代码:

select t.*,t.rowid from stuinfo t ;

ORACLE ROWNUM

ORACLE ROWNUM表示的Oracle查询结果集的顺序,ROWNUM为每个查询结果集的行标识一个行号,第一行返回1,第二行返回2,依次顺序递增。

ROWNUM 与 ROWID 不同, ROWID 是插入记录时生成, ROWNUM 是查询数据时生成。ROWID 标识的是行的物理地址。 ROWNUM 标识的是查询结果中的行的次序。

ROWNUM代码:

select t.stuid,t.stuname,t.sex,t.classno,t.stuaddress ,rownum  from stuinfo t ;

ROWNUM经常用来限制查询的结果返回的行数,求前几行或前几名的数据。

相关推荐

使用 Docker 部署 Java 项目(通俗易懂)

前言:搜索镜像的网站(推荐):DockerDocs1、下载与配置Docker1.1docker下载(这里使用的是Ubuntu,Centos命令可能有不同)以下命令,默认不是root用户操作,...

Spring Boot 3.3.5 + CRaC:从冷启动到秒级响应的架构实践与踩坑实录

去年,我们团队负责的电商订单系统因扩容需求需在10分钟内启动200个Pod实例。当运维组按下扩容按钮时,传统SpringBoot应用的冷启动耗时(平均8.7秒)直接导致流量洪峰期出现30%的请求超时...

《github精选系列》——SpringBoot 全家桶

1简单总结1SpringBoot全家桶简介2项目简介3子项目列表4环境5运行6后续计划7问题反馈gitee地址:https://gitee.com/yidao620/springbo...

Nacos简介—1.Nacos使用简介

大纲1.Nacos的在服务注册中心+配置中心中的应用2.Nacos2.x最新版本下载与目录结构3.Nacos2.x的数据库存储与日志存储4.Nacos2.x服务端的startup.sh启动脚...

spring-ai ollama小试牛刀

序本文主要展示下spring-aiollama的使用示例pom.xml<dependency><groupId>org.springframework.ai<...

SpringCloud系列——10Spring Cloud Gateway网关

学习目标Gateway是什么?它有什么作用?Gateway中的断言使用Gateway中的过滤器使用Gateway中的路由使用第1章网关1.1网关的概念简单来说,网关就是一个网络连接到另外一个网络的...

Spring Boot 自动装配原理剖析

前言在这瞬息万变的技术领域,比了解技术的使用方法更重要的是了解其原理及应用背景。以往我们使用SpringMVC来构建一个项目需要很多基础操作:添加很多jar,配置web.xml,配置Spr...

疯了!Spring 再官宣惊天大漏洞

Spring官宣高危漏洞大家好,我是栈长。前几天爆出来的Spring漏洞,刚修复完又来?今天愚人节来了,这是和大家开玩笑吗?不是的,我也是猝不及防!这个玩笑也开的太大了!!你之前看到的这个漏洞已...

「架构师必备」基于SpringCloud的SaaS型微服务脚手架

简介基于SpringCloud(Hoxton.SR1)+SpringBoot(2.2.4.RELEASE)的SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、Xss防跨站攻击、...

SpringCloud分布式框架&amp;分布式事务&amp;分布式锁

总结本文承接上一篇SpringCloud分布式框架实践之后,进一步实践分布式事务与分布式锁,其中分布式事务主要是基于Seata的AT模式进行强一致性,基于RocketMQ事务消息进行最终一致性,分布式...

SpringBoot全家桶:23篇博客加23个可运行项目让你对它了如指掌

SpringBoot现在已经成为Java开发领域的一颗璀璨明珠,它本身是包容万象的,可以跟各种技术集成。本项目对目前Web开发中常用的各个技术,通过和SpringBoot的集成,并且对各种技术通...

开发好物推荐12之分布式锁redisson-sb

前言springboot开发现在基本都是分布式环境,分布式环境下分布式锁的使用必不可少,主流分布式锁主要包括数据库锁,redis锁,还有zookepper实现的分布式锁,其中最实用的还是Redis分...

拥抱Kubernetes,再见了Spring Cloud

相信很多开发者在熟悉微服务工作后,才发现:以为用SpringCloud已经成功打造了微服务架构帝国,殊不知引入了k8s后,却和CloudNative的生态发展脱轨。从2013年的...

Zabbix/J监控框架和Spring框架的整合方法

Zabbix/J是一个Java版本的系统监控框架,它可以完美地兼容于Zabbix监控系统,使得开发、运维等技术人员能够对整个业务系统的基础设施、应用软件/中间件和业务逻辑进行全方位的分层监控。Spri...

SpringBoot+JWT+Shiro+Mybatis实现Restful快速开发后端脚手架

作者:lywJee来源:cnblogs.com/lywJ/p/11252064.html一、背景前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。SpringBoot使编码配置...

取消回复欢迎 发表评论: