Oracle之CASE-WHEN、ROWNUM

简介: Oracle之CASE-WHEN、ROWNUM

今日份知识学习

今日我们来学习两个知识点,其一是CASE-WHEN(类似于if-else),其二是ROWNUM关键字,都是非常常用的知识点。

具体讲解

先从CASE-WHEN开始说。

CASE-WHEN

也就是如果...所以...,if-else相信大家一定很熟悉,此函数就是这么一个概念,极其简单,一般都是在查询出的参数部分进行使用的。

也就是在SELECT之后,FROM之前进行使用。

让我们来看看具体的示例吧。

select case when name == '张三' then '张三三' when name == '张四' then '张思思' else '张武' end from user_table;

经过上面的示例,我们可以看出,还有着其他的关键字,case、when、else、end等四个关键字,搭配起来使用才能查询到我们想要的结果。

ROWNUM

开始说一下ROWNUM,从名称来看,就知道是关于行的数目,确实不错,就是行数。

在Oracle中,查询的每一行其实都存在一个rowid参数,通常是隐藏起来了,通常在开发中使用到rownum的时候是想要来返回某条固定的数据。

比如一个查询语句,查询出的结果集是五条,但是这时候其实只是需要一条,那么我们就通过rownum来返回出一条。

具体示例来看:

select * from user_table where name = '张三' and rownum = 1

上述SQL便是返回了第一行的数据,尽管有多条数据,依然只会返回第一条,如果rownum等于2,那么返回的则是第二条数据。

以此类推,rownum其实是结果集中每一行的一个标识,我们可以通过比对rownum来返回指定范围的数据。

总结

今天学习了oracle中的if-else和rownum,你学会了吗?

最近开始来学习Oracle数据库的一些知识,其中包含一些函数的使用,或者是特性的介绍讲解等,将会在系列文章内说到。

喜欢的可以关注一下专栏。

目录
相关文章
|
SQL Oracle 关系型数据库
Oracle 的sql陷阱(1)rownum和order by一起使用
rownum和order by一起使用可能会遇到取数不准确的问题
4886 0
|
16天前
|
SQL 移动开发 Oracle
[Oracle]面试官:你说说rownum、currval与nextval分别是什么,还有没有其他的?
本文主要介绍了 Oracle 数据库中的 `rownum` 虚拟字段和 `nextval`、`currval` 伪列。`rownum` 用于生成结果集的序号,常用于 `top-n` 查询。`nextval` 和 `currval` 基于序列,分别表示序列的下一个值和当前值,常用于主键的自动填充。文中提供了详细的示例和注意事项,帮助读者更好地理解和使用这些功能。
36 1
[Oracle]面试官:你说说rownum、currval与nextval分别是什么,还有没有其他的?
|
6月前
|
SQL 移动开发 Oracle
避坑,Oracle中rownum与order by的执行顺序
避坑,Oracle中rownum与order by的执行顺序
|
SQL 移动开发 Oracle
Oracle中rownum和row_number()
Oracle中rownum和row_number()
726 0
|
Oracle 关系型数据库 Go
Oracle:On ROWNUM and Limiting Results
转载记录一篇关于ROWNUM伪列的文章来自Tom Kyte大师 https://blogs.oracle.com/oraclemagazine/on-rownum-and-limiting-results This issue's Ask Tom column is a little different from the typical column.
893 0
|
SQL 存储 运维
Oracle-12:伪列rowid和rownum
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥-------------       伪列:不真实存储在真表中,但是我们可以查询到不能对伪列进行增删改操作!   分页可以用rownum来分!!!!!!!(因为oracle中没有limit)   放一份数据库脚本,...
939 0
|
Oracle 关系型数据库 PostgreSQL
|
Oracle 关系型数据库
|
Oracle 关系型数据库 数据库