子查询

  1. 子查询(Subquery)是指出现在其他SQL语句内的SELECT子句
  2. 结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
  3. 子查询嵌套在查询内部,且必须始终出现在圆括号内。其外层查询可以是:SELECT,INSERT,UPDATE,SET或DO。查询不一定是查找,是所有SQL语句的统称

子查询语法:

这里写图片描述

  1. 子查询要在圆括号内
  2. 子查询内的语句不用分号结束

这里写图片描述

  1. 没有ANY或ALL关键字修饰时会报错:Subquery returns more than 1 row,因为子查询的返回数据不止1行,所有直接 > 就不知道大于哪个记录
  2. 用ANY关键字修饰时(同SOME),大于一个就行,即记录中价格大于返回值集合中最小的就可以,相当于或运算(其中一个成立就能跳出判断)
  3. 用ALL关键字修饰时,要大于返回值集合中的全部元素,即大于其中的最大元素,相当于与运算(所有成立才能跳出判断)

这里写图片描述
这里写图片描述

  1. = ANY 即查找记录中的值等于任何一个返回值集合元素的价格就可以,这样在子查询中的三个’超级本’ 就被查找出来(或运算)
  2. IN 与 = ANY 等价
  3. = ALL 返回的集合中是空的,因为不可以有一个记录的价格同时等于三个值(与运算)

这里写图片描述
这里写图片描述

  1. NOT IN 与 <> ALL(即 != ALL)等价
  2. 注意这里跟数学逻辑上有点不一样

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值