oracle 单行子查询返回多个行_oracle——子查询

本文详细介绍了Oracle数据库中的子查询,包括单行子查询和多行子查询的使用,以及如何在`FROM`子句中使用子查询。还探讨了TOP-N查询(通过`ROWNUM`实现)以及分页查询的方法。最后,提到了行转列的概念,展示了如何将数据转换为表格形式。
摘要由CSDN通过智能技术生成

bb291e90385557afa955d6e9059f5db7.png

1. 子查询

sql中查询是可以嵌套的。一个查询可以作为另外一个查询的条件、表。

SELECT	select_list
FROM	table
WHERE	expr operator
		(SELECT	select_list
			 FROM	table);

理解子查询的关键在于把子查询当作一张表来看待。外层的语句可以把内嵌的子查询返回的结果当成一张表使用。子查询可以作为一个虚表被使用。

子查询要用括号括起来

将子查询放在比较运算符的右边(增强可读性)

子查询根据其返回结果可以分为单行子查询和多行子查询。

1.1 单行子查询

当子查询有单行时,可以取单行中的一个字段形成单个值用于条件比较。

-- 查询雇员其薪资在雇员平均薪资以上
-- [1] 查询员工的平均薪资
select avg(e.sal) "AVGSAL"
from emp e

--[2] 查询满足条件的雇员
select *
from emp e
where e.sal > (select avg(e.sal) "AVGSAL" from emp e)

1.2 多行子查询


 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值