子查询

Oracle从入门到总裁:https://blog.csdn.net/weixin_67859959/article/details/135209645

子查询

前面我们学过了利用 group by子句可以实现分组的操作,主要的统计函数有:COUNT()、AVG()、SUM()、MAX()、MIN()

并且介绍了分组统计查询的若干限制以及在使用过程中应该注意的问题

如果不使用 group by 子句分组,则 select子句之中只能够出现统计函数

如果使用了 group by 子句,则 select子句里面可以使用分组字段或者统计函数

统计函数允许嵌套,嵌套之后的 select子句里面不允许出现其他任何字段,包括分组字段

group by 子句是在 where子句之后运行的,所以 where子句无法使用统计函数

对分组后的数据进行过滤,则可以使用 hving子句

 在整个 SQL 查询语句中,子查询并不是特殊的语法,也就是说在整个 SQL 查询操作里

select、from、where、group by、hving、order by 中都可以出现子查询

如果非要给出子查询的语法,那么只能够进行拼凑,下面给出了子查询的大致语法

select [distinct] * | 字段 [ 别名 ] | 统计函数 ,( select [distinct] * | 字段 [ 别名 ] | 统计函数  from 表 [ 别名 ], 表 [ 别名 ],.... [where 条件 (s)] [group by 分组字段 , 分组字段 ,..] [having 分组过滤 ] 	[order by 排序 [asc | desc], 排序 [asc | desc],...])
from 表 [ 别名 ], 表 [ 别名 ],....,( select [distinct] * | 字段 [ 别名 ] | 统计函数  from 表 [ 别名 ], 表 [ 别名 ],.... [where 条件 (s)][group by 分组字段 , 分组字段 ,..] [having 分组过滤 ] [order by 排序 [asc | desc], 排序 [asc | desc],...])
[where 条件 (s),( select [distinct] * | 字段 [ 别名 ] | 统计函数  from 表 [ 别名 ], 表 [ 别名 ],.... [where 条件 (s)] [group by 分组字段 , 分组字段 ,..] [having 分组过滤 ] [order by 排序 [asc | desc], 排序 [asc | desc],...])]
[group by 分组字段 , 分组字段 ,...]
[having 分组过滤 ,( select [distinct] * | 字段 [ 别名 ] | 统计函数  from 表 [ 别名 ], 表 [ 别名 ],.... [where 条件 (s)] [group by 分组字段 , 分组字段 ,..] [having 分组过滤 ] [order by 排序 [asc | desc], 排序 [asc | desc],...])]
[order by 排序 [asc | desc], 排序 [asc | desc],...]

所有可能出现的子查询都需要使用“()”声明

所谓的子查询,实质上属于查询嵌套,而且从理论上来说,查询子句的任意位置上都可以随意出现子查询

但是出现子查询较多的位置是 where、from。

所以现在对子查询给出了参考使用方案

where子句:子查询返回单行单列、单行多列、多行单列

having子句:子查询返回单行单列,而且要使用统计函数过滤

from子句:子查询返回的是多行多列

select子句:一般返回单行单列,需要在某些查询的时候使用

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/698474.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

设计模式面试系列-03

1. Java 中如何实现模板方法模式? 举例:去餐厅吃饭,餐厅给我们提供了一个模板就是:看菜单,点菜,吃饭,付款,走人。注意这里“点菜和付款”是不确定的由子类来完成的,其他的则是一个模板。 1、先定义一个模板。把模板中的点菜和付款,让子类来实现。 package com.yoo…

IP 协议

IP 协议 .IP协议格式四位版本号四位首部长度8位服务类型16位总长度16位标识符,3位标志位,13位片偏移8位生存时间TTL8位协议16位首部校验和32位源地址 32位目的地址IP地址的组成特殊的IP地址 . IP协议格式 四位版本号 用来表示IP协议的版本,现有的IP协议只有两个版本,IPv4,IPv6…

comfyui节点编写示例文件(下)

** 1、先看示例文件的结构 ** ** 2、设置输入参数 ** ** 3、节点指定任务、输出啥 ** ** 4、这个节点干了啥,定义函数、输出结果 ** ** 5、多个节点,就多个类 ** ** 6、设置多个入口 ** ** 7、放置 ** 直接把py文件放到 .\Co…

PostgreSQL教程(四):高级特性

一、简介 在之前的章节里我们已经涉及了使用SQL在PostgreSQL中存储和访问数据的基础知识。现在我们将要讨论SQL中一些更高级的特性,这些特性有助于简化管理和防止数据丢失或损坏。最后,我们还将介绍一些PostgreSQL扩展。 本章有时将引用教程&#xff0…

消息中间件之RocketMQ为什么写文件这么快?

RocketMQ的存储涉及中,很大一部分是基于Kafka的涉及进行优化的。 PageCache 现代操作系统内核被设计为按照Page读取文件,每个Page默认4KB, 因为程序一般符合局部性原理,所以操作系统在读取一段文件内容时,会将该段内容和附件的文…

Nginx网络服务二-----(虚拟机和location)

一、HTTP设置 1.设置虚拟主机 1.1Nginx 基于域名---虚拟主机 include /apps/nginx/conf.d/*.conf; 1.2Nginx 基于端口---虚拟主机 在做了域名的基础上,按照以下步骤继续 1.3Nginx 基于IP---虚拟主机 2.server下的root root路径格式 指定文件的路径 url …

DataX学习详解

参考视频 02_DataX_概述_哔哩哔哩_bilibili 参考文档 大数据技术之DataX-阿里云开发者社区 介绍 DataX 是阿里巴巴开源的一个 异构数据源 离线 同步工具 致力于实现包括关系型数据库(MySQL、Oracle等)、HDFS、Hive、ODPS、HBase、FTP,MongDB等各种异构数据源之间…

[python][whl]PyOpenGL轮子文件whl格式所有版本含python3.12版本下载地址汇总

以下PyOpenGL都是windows x64系统使用pyopengl注意对应版本下载,文件名命名规则为,以PyOpenGL-3.1.6-cp312-cp312-win-amd64.whl为例子 PyOpenGL:python模块名称 3.1.6:pyopengl版本号 cp312:表示支持python3.12版本不支持其他…

五、深入学习TensorRT,Developer Guide篇(四)

上一篇文章我们介绍了C的API,这篇文章我们主要针对的是Python的API,起始C和Python在整体流程上面基本一致,但是由于Python天然的简洁性和易用性,Python的API相对来讲还是比较简单的,我们一起来看一下吧。 文章目录 4.…

windows下快速安装nginx 并配置开机自启动

1、下载地址:http://nginx.org/en/download.html 2、启动nginx 注意⚠️ 不要直接双击nginx.exe,这样会导致修改配置后重启、停止nginx无效,需要手动关闭任务管理器内的所有nginx进程。 在nginx.exe目录,打开命令行工具&#xf…

【springblade】springblade(bladeX) 数据权限失效原因分析

文章目录 数据权限接口权限 前言:最近博主在按照bladeX官方文档 配置数据权限 结果发现失效了,网上搜了一下没找到合适的答案,本着求人不如求己的精神,自己调试了一下发现了问题所在,也大致看了一下bladeX的权限逻辑。…

代码随想录算法训练营29期Day56|LeetCode 300,674,718

文档讲解:最长递增子序列 最长连续递增序列 最长重复子数组 300.最长递增子序列 题目链接:https://leetcode.cn/problems/longest-increasing-subsequence/description/ 思路: 设dp[i]表示i之前包括i的以nums[i]结尾的最长递增子序列的长…

unity——shader入门知识点 学习笔记【个人复习向/侵删/有不足之处欢迎斧正】

零、不同图形接口程序对Shader开发的影响: 1.渲染管线(流水线)和图形接口程序的关系:图形接口程序(OpenGL、 DX等)提供了对渲染管线(流水线)的控制和管理功能,它是开发者和硬件打交道的中间层 2. Shader和图形接口程序的关系&#xf…

计算机毕业设计 基于SpringBoot的宠物商城网站系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍:✌从事软件开发10年之余,专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ 🍅文末获取源码联系🍅 👇🏻 精…

LeetCode206反转链表

LeetCode206,直接看下面链接的动画演示部分就行了,就能快速理解pre和cur的作用 代码随想录:反转链表 这个是另外的在B站的视频讲解链接 【帮你拿下反转链表 | LeetCode:206.反转链表 | 双指针法 | 递归法】 https://www.bilibili.com/video/BV1nB4y1i7eL/?share_so…

Linux理解

VMware安装Linux安装 目录 VMware安装Linux安装 1.1 什么是Linux 1.2 为什么要学Linux 1.3 学完Linux能干什么 2.1 主流操作系统 2.2 Linux系统版本 VMware安装Linux安装 1.1 什么是Linux Linux是一套免费使用和自由传播的操作系统。 1.2 为什么要学Linux 1). 企业用人…

Python3获取办公室IP并更新至腾讯云安全组

需求来源: 由于云服务器的安全组限制了只能在公司IP下远程连接,每次更新安全组时只能通过手动更新,办公室IP是动态IP,每隔三天变一次IP,时间久了就觉得麻烦,所以在查阅了腾讯云文档后发现有安全组的SDK&…

【Git】:初识git

初识git 一.创建git仓库二.管理文件三.认识.git内部结构 一.创建git仓库 1.安装git 使用yum install git -y即可安装git。 2.创建仓库 首先创建一个git目录。 3.初始化仓库 这里面有很多内容,后面会将,主要是用来进行追踪的。 4.配置name和email 当然也…

Node.js的debug模块源码分析及在harmonyOS平台移植

Debug库 是一个小巧但功能强大的 JavaScript 调试工具库,可以帮助开发人员更轻松地进行调试,以便更快地发现和修复问题。它的主要特点是可以轻松地添加调试日志语句,同时在不需要调试时可以轻松地禁用它们,以避免在生产环境中对性…

室内外一体化定位系统

随着科技的不断发展,定位系统已经成为了人们生活中不可或缺的一部分。无论是在户外还是室内,定位服务都给人们带来了极大的便利。然而,传统的定位系统主要集中在室外环境,对于室内环境的定位还存在一定的困难。因此,室…