oracle:子查询

子查询分为:
单行子查询:对外部SQL语句要么不返回结果,要么只返回一条。
多行子查询:对外部的SQL语句返回一行或多行
多列子查询:向外部的sql返回多列
关联子查询:引用外部的SQL语句中的一列或多列
嵌套子查询:位于另一个子查询中。
一:单行子查询
可能碰到的错误:
1.单行子查询只能返回一行
如果返回多行会出现如下错误:
ORA-01427:single-row subquery returns more than one row.
2.子查询中不能包含order by字句
二多行子查询
可以使用in/any/all操作符。
三:关联子查询
1.使用exists和not exists
exists:用于检查子查询返回行的存在性。
2.exists和not exists与in和not in的区别

in操作符用来检查特定的值是否存在于值列表中
exists只是检查行的存在性,不检查实际值。
通常情况下 exists比in的性能高。
当值列表包含空值,not exists返回truein返回false

四:嵌套子查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值