SQL子查询

  • 一个select-from-where语句称为一个查询块,一个查询块嵌套在另一个查询块的where或having短语的条件中的查询称为嵌套查询
  • 下层的查询块称为子查询
  • order by不能用在子查询中,其只能对最终查询结果排序

不相关子查询和相关子查询

  • 不相关子查询的查询条件不依赖于父查询(子查询可独立单独运行),执行顺序由里向外
  • 相关子查询的查询条件依赖于父查询,执行顺序由外向里

IN谓词子查询

  • 子查询结果是单个属性的值的集合
  • 可能是不相关也可能是相关子查询

比较运算符子查询

  • 运算符如>、<、=、!=等
  • 子查询结果只能是单个值
  • 可能是不相关也可能是相关子查询

带有ANY或ALL谓词的子查询

比较运算符和any或all谓词的组合,可能是不相关也可能是相关子查询

  • any是指子查询结果中的某个
  • all是指子查询结果中的所有
谓词含义
>any大于子查询结果的某个值
>all大于子查询结果的所有值
=any等于子查询结果的某个值
….….

EXISTS子查询

  • 带有exists谓词的子查询不返回任何数据,只产生true或false,所以子查询中列名用*,因为此处列名无意义
  • 肯定是相关子查询
  • exists外部表每一条记录逐条代入子查询,子查询有数据则返回true,父查询的where如果都为true则保留此条记录为结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值