sql 限制返回的行数、从表中随机返回n行数据、将NULL转换为实际值
创始人
2024-02-02 04:53:18
0

限制返回的行数

  1. 问题
    你想限制查询中返回的行数。你不关心顺序,只要返回的行数是指定的(n)。
  2. 解决方案
    使用数据库提供的内置函数来控制返回的行数。
    DB2
    在 DB2 中,使用 FETCH FIRST 子句。
 select *
from emp fetch first 5 rows only

MySQL 和 PostgreSQL
在 MySQL 和 PostgreSQL 中,使用 LIMIT 来限制返回的行数。

 select *from emp limit 5

Oracle
在 Oracle 中,要限制返回的行数,可以在 WHERE 子句中对 ROWNUM 进行限制。

 select *from empwhere rownum <= 5

SQL Server
在 SQL Server 中,使用关键字 TOP 来限制返回的行数。

 select top 5 *from emp

从表中随机返回n行数据

  1. 问题
    你想从表中随机返回 n 行数据。为此,你想修改下面的语句,使其返回 5 行数据,且每次
    执行时返回的行都不同。
select ename, jobfrom emp
  1. 解决方案
    使用 DBMS 提供的返回随机值的内置函数。在 ORDER BY 子句中,使用该内置函数以随机
    的方式对行进行排序,然后使用上一节介绍的方法来限制返回的行数。
    DB2
    结合使用内置函数 RAND、ORDER BY 和 FETCH。
 select ename,jobfrom emporder by rand() fetch first 5 rows only

MySQL
结合使用内置函数 RAND、LIMIT 和 ORDER BY。

 select ename,jobfrom emporder by rand() limit 5

PostgreSQL
结合使用内置函数 RANDOM、LIMIT 和 ORDER BY。
检索记录 | 9

 select ename,jobfrom emporder by random() limit 5

Oracle
结合使用(内置包 DBMS_RANDOM 中的)内置函数 VALUE、ORDER BY 子句和内置函数 ROWNUM。

 select *from (select ename, jobfrom emporder by dbms_random.value())where rownum <= 5

SQL Server
结合使用内置函数 NEWID、TOP 和 ORDER BY 来返回随机的结果集。

 select top 5 ename,jobfrom emp
## 标题 order by newid()

**

将NULL转换为实际值

**

  1. 问题
    有些列为 NULL,但你不想返回 NULL,而想返回非 NULL 值。
  2. 解决方案
    使用函数 COALESCE 将 NULL 值替换为实际值。
 select coalesce(comm,0)from emp
  1. 讨论
    函数 COALESCE 可以将一个或多个值作为参数,并返回参数列表中的第一个非 NULL 值。在
    上述解决方案中,如果 COMM 不为 NULL,就返回它,否则就返回 0。
    处理 NULL 值时,最好利用 DBMS 提供的内置功能。在很多情况下,有多个函数可以很好
    地完成这项任务,但 COALESCE 在所有 DBMS 中都管用。另外,在所有 DBMS 中,都可以
    使用 CASE 来完成这项任务。
select casewhen comm is not null then commelse 0endfrom emp

虽然可以使用 CASE 将 NULL 值转换为实际值,但使用 COALESCE 更容易且更简洁

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...