IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> SQL的 子查询 -> 正文阅读

[大数据]SQL的 子查询

1、子查询
在查询语句中包含着有另外一条查询语句,被包含的查询语句称为子查询,包含着子查询的查询就称为父查询。总之,子查询就是在查询语句里嵌套一条或者多条查询语句。
子查询也可以称为内部查询或内部选择,而包含子查询的语句称为外部查询或者外部选择
1.1子查询的语法规则:
子查询的select查询总使用圆括号括起来
不能包括compute或for browse子句
如果同时指定top子句,则可能只包括order by子句
子查询最多嵌套32层,个别查询可能会不支持32层嵌套
任何可以使用表达式的地方都可以使用子查询,主要它返回的是单个值
如果某个表只出现在子查询中而不出现在外部查询中,那么该表中的列就无法包含在输出中
1.2 语法格式:
where 查询表达式 [not] in(子查询)
where 查询表达式 比较运算符 [any|all] (子查询)
where [not] exists (子查询)

假设Books表如下:
在这里插入图片描述

然后显示单条数据的情况,这个是高于平均价格的数据
在这里插入图片描述

2、嵌套查询
嵌套查询是指将一个查询块嵌套在另一个查询块的where子句或having短语的条件中的查询。嵌套查询中上层的查询块称为外侧查询或父查询,下层查询块称为内层查询或子查询。SQL语言允许多层嵌套,但是在子查询中不允许出现order by子句,order by子句只能用在最外层的查询中。
嵌套查询的处理方法是:先处理最内侧的子查询,然后一层一层地向上处理,直到最外层的查询块。
2.1简单的运算符有=、<>、<、>、<= 、>=
举一个简单的例子
在这里插入图片描述

带IN的嵌套查询
在这里插入图片描述

带EXISTS
在这里插入图片描述

2、Any 是一个逻辑运算符 ,它将标量值与子查询返回的单列值集进行比较。它将值与子查询返回的一组进行比较。any运算符必须要结合比较运算符使用,虽然说我也没用过
条件 含义
C=ANY(…) c列中的值必须与集合中的一个或多个值匹配,以评估为true。
c!=ANY(…) c列中的值不能与集合中的一个或多个值匹配以评估为true。
C>ANY(…) c列中的值必须大于要评估为true的集合中的最小值。
c<ANY(…) c列中的值必须小于要评估为true的集合中的最大值。
C>=ANY(…) c列中的值必须大于或等于要评估为true的集合中的最小值。
C<=ANY(…) c列中的值必须小于或等于要评估为true的集合中的最大值。
2、ALL运算符是一个逻辑运算符,它将标量值与子查询返回的单列值列表进行比较。
他和ANY是不一样的。他们是区别是:
All:只有当其所有数据都满足条件时,条件才成立
Any:只要有一条数据满足条件,条件就成立
以下是SQL ALL运算符的语法:
WHERE column_name comparison_operator ALL (subquery)
SQL ALL运算符必须以比较运算符开头,例如:>,>=,<,<=,<>,=,后跟子查询。 某些数据库系统(如Oracle)允许使用文字值列表而不是子查询。这个all我也没用过,就是老师给的文档中的东西!
ALL的基本含义:
条件 描述
c > ALL(…) c列中的值必须大于要评估为true的集合中的最大值。
c >= ALL(…) c列中的值必须大于或等于要评估为true的集合中的最大值。
c < ALL(…) c列中的值必须小于要评估为true的集合中的最小值。
c <= ALL(…) c列中的值必须小于或等于要评估为true的集合中的最小值。
c <> ALL(…) c列中的值不得等于要评估为true的集合中的任何值。
c = ALL(…) c列中的值必须等于要评估为true的集合中的任何值。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-04-07 22:46:53  更:2022-04-07 22:50:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:53:30-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码