oracle嵌套子查询

本文详细介绍了Oracle数据库中嵌套子查询的两种主要形式——`IN`子查询和`EXISTS`子查询。`IN`子查询用于测试元组是否属于由`SELECT`语句生成的值集合,而`EXISTS`子查询则用于测试子查询结果是否包含元组。文章通过实例演示了如何使用这两种子查询进行复杂的数据筛选,例如查找单价超过20元的药品费用单号,以及查询未使用的诊疗项目编码和名称等。
摘要由CSDN通过智能技术生成

嵌套子查询

1.-in
外层叫做父查询,里层叫做子查询
连接词in测试元组是否是集合中的成员,集合是由select子句产生的一组值构成,连接词not in测试元组是否不是集合中的成员

查询使用单价超过20元的药品的费用单号

select fyid
 from hr.patient_script_detl
 where ylxmbm in (select ylcmbm
 	from hr.medi_item
 where dj>20 and ylxmlb='1'); //单价超过20,医疗项目类别1是药品

只要ylxmbm满足in就可以为true

查询姓名不是“张飞”和“刘备”的病人

select xm
 from hr,per_natl
 where xm not in ('张飞','刘备');

使用in查询的特点

  • 1)使用in作为连接词的嵌套查询称为不相关子查询
  • 2)即子查询的执行不需要提前取得父查询的值,只是作为父查询的查询条件
    查询没有被使用过的诊疗项目编码和名称

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值