day013--mysql中的子查询

news/2024/5/21 17:01:47/文章来源:https://blog.csdn.net/weixin_53046747/article/details/127115811

目录

 一,前言

二,子查询的定义及书写格式

1,定义

 2,书写格式

三,子查询的分类

1,单行子查询和多行子查询

2,相关子查询和非相关子查询


 一,前言

相信大家还记得之前我们在学习分组时遗留下的一个问题,那就是如果我们像如下这样,知道了我们学生表中的智育分最高成绩是多少,我们想要查询所对应的学生是谁时,如果只是单纯的使用select和group  by关键字是无法实现我们的需求的,如下,有数据,但并不是正确的结果。

 这就是我们今天需要去了解并学习的内容,如下:

SELECT stu_name,stu_get2 AS "智育分成绩",MAX(stu_get2) AS "最高智育分"
FROM 20student WHERE stu_get2 = (
SELECT MAX(stu_get2) FROM 20student
);

 现在我们就可以查询出来在学生表中最高智育分的人是谁。

二,子查询的定义及书写格式

1,定义

广义的子查询就是包含有子查询语句的sql语句,而狭义的子查询指的是包含在主查询中的子查询即小括号里面的查询语句,这么一说可能有点抽象,我们使用具体的表格来举例子:

现在我们依旧使用之前的查询语句并在上面进行标注,如下,

广义的子查询定义:

狭义的子查询定义:

在执行sql语句的过滤时,是先执行子查询,然后再给主查询使用。 

 2,书写格式

我们的子查询语句因为是嵌套在一个主查询的里面,因此我们需要使用一个小括号来将它们分开,并且推荐将我们的子查询语句写在我们的比较条件的右侧:

 子查询也像我们函数那样,有单行和多行之分,但是多行子查询不像多行函数那样返回的只是一条数据,而是多条数据。

三,子查询的分类

1,单行子查询和多行子查询

之前我们在广义的子查询定义那里知道了子查询也可以分为单行子查询和多行子查询。而我们判断的标准和角度则是从子查询返回的结果条数。如果返回单行数据的话为单行子查询,反之为多行子查询。就拿我们之前查的最大值的子查询来说,它返回的只有一行数据,因此就为单行子查询:

2,相关子查询和非相关子查询

如果我们要将子查询分为相关子查询和非相关子查询的话,那么的判断角度及依据是我们的子查询是否被执行多次,如上,子查询在查询出来最大的智育分后,我们的主查询再拿数据表中的stu_get2与这个最大值进行对比,并且这个最大值是一经查询出来就不会再改变的数值:

 因此上图中我们使用的子查询就是非相关子查询一种。

以上就是mysql中的子查询相关内容,有问题请在评论区留言。

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

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

相关文章

保研专业课参考

文章目录数据结构1.什么是平衡树?平衡树是怎么创建的?2.二叉排序树的性质:3.如何编程判断一棵二叉树是完全二叉树4.二叉树怎么求高度(山大计算机)5.在图中找到一个连通图,有n个顶点,n-1条边使得…

SQL Server大分区表没有空分区的情况下如何扩展分区的方法

官方文档https://docs.microsoft.com/en-us/sql/t-sql/statements/alter-partition-function-transact-sql?viewsql-server-ver16 Best Practices Always keep empty partitions at both ends of the partition range. Keep the partitions at both ends to guarantee that th…

【学生网页作业】航海王动漫网页 html+ css + JavaScript 简单的学生网页作业源码

🌩️ 精彩专栏推荐👇🏻👇🏻👇🏻 💂 作者主页: 【进入主页—🚀获取更多源码】 🎓 web前端期末大作业: 【📚HTML5网页期末作业 (1000套…

手机用Postern配置socks5全局代理详细教程

以静态Socks5独享IP的单地区资源为例,即IP资源全部归属单一城市,不会变动,如南京区域,则IP全部为南京城市出口。 关于Socks5的使用有多种方案,可应用于PC,安卓,模拟器,请根据情况灵…

EasyRecovery15万能数据恢复软件全面详细功能讲解

EasyRecovery 15是由全球著名数据厂商Ontrack 出品的一款非常优秀的数据恢复软件,在诸多数据恢复软件中这款软件可以说是排的上名的,具有快捷、高效、便捷等特点,可以帮助用户轻松恢复电脑丢失的数据。 因此今天coco玛吉多就给大家带来了eas…

环境主题静态HTML网页作业作品 大学生环保网页设计制作成品 简单DIV CSS布局网站

🌩️ 精彩专栏推荐👇🏻👇🏻👇🏻 💂 作者主页: 【进入主页—🚀获取更多源码】 🎓 web前端期末大作业: 【📚HTML5网页期末作业 (1000套…

2022短视频神器历时6个月辛苦全力打造的软件短视频运用工具

短视频批量监控混剪消重上传运营神器 ​ 要问当下什么最火?当然是从事自媒体了,自媒体是普通大众经由数字科技强化、与全球知识体系相连之后,一种开始理解普通大众如何提供与分享他们自身的事实、新闻的途径。简而言之,即公民用以…

移动端布局

移动端布局1. meta视口标签1.2 多倍图1.2.1 图片缩放1.2.2 背景缩放 background-size1.3 特殊样式2 移动端常见布局2.1 流式布局(百分比布局)2.2 flex布局父项常见属性2.2.1 flex-direction设置主轴或侧轴的方向2.2.2 justify-content 设置主轴的子元素的…

程序员的数学课08 加乘法则:如何计算复杂事件发生的概率?

在我们的工作和生活中少不了对概率的计算,对概率的准确计算会帮助我们做出更加合理高效的决策。 例如,早上出门之前,你需要对是否携带雨伞进行决策。如果没有任何依据而随机决策,那么就会遇到下雨没带伞或者晴天带伞的麻烦&#…

SiO2/PAA/Ag复合纳米粒/酞菁修饰磁性温敏二氧化硅纳米微球/中空SiO2/TiO2纳米微球的制备

小编给大家分享了SiO2/PAA/Ag复合纳米粒/酞菁修饰磁性温敏二氧化硅纳米微球/中空SiO2/TiO2纳米微球的制备与研究,一起来看! SiO2/PAA/Ag复合纳米粒子的制备步骤: 利用溶胶-凝胶法合成胶体二氧化硅微球,用甲基丙烯酰氧丙基三甲氧基硅烷(γ-MP…

业务开发流程

0.摘要 此文主要介绍了业务开发的整体流程、关键节点和需要注意的事项,适用于刚入行的小白,以及对自己过往经验的一个总结整理。持续更新中~~ 1.开发的主要流程&名词释义 大概给大家梳理下一个项目从发起到上线的流程。 ○ 参与人员:业…

redis之为什么那么快

写在前面 在面试中关于redis经常被问到一个问题就是redis为什么快,本文就一起从其底层的数据结构实现来分析下,为什么快,哪些快,哪些慢,哪些操作会导致慢等,下面我们就开始吧! 1:为…

【无标题】近几年攻防演练攻击队典型突破的例子

蓝队经典攻击实例 实战攻防演练中红队网络的部署情况各有特点,蓝队也会根据攻 击目标的不同而采取不同的攻击策略和手段。下面几个案例展示的就 是针对红队网络的不同薄弱点采取的不同的典型攻击策略与方法手 段。 正面突破:跨网段控制工控设备 某企业…

C#面向对象程序设计课程实验一:实验名称:C#语言基础、程序流程控制

C#面向对象程序设计课程实验一:实验名称:C#语言基础、程序流程控制实验内容:C#语言基础、程序流程控制一、 实验目的二、实验环境三、实验内容四、实验总结实验内容:C#语言基础、程序流程控制 一、 实验目的 (1)练习 C#变量声明和…

simulink-自定义模块GUI回调函数

目录 一、创建simulink模块 二、自定义GUI步骤 2.1 设计组件界面信息 2.2 GUI控件介绍 2.2.1 Parameter参数配置组件 2.2.2 Container参数配置组件 2.2.3 Display参数配置组件 2.2.4 Action参数配置组件 2.3 控件回调函数使用方法 三、设置Help信息 四、获取配置控件参数 4.…

ubuntu 搭建RKNN-Toolkit环境

1. github下载官方的RKNN-Toolkit项目包 地址:https://github.com/rockchip-linux/rknn-toolkit 然后还需要下载rknn-toolkit包,GitHub下方有链接: 各种版本的官方下载: https://github.com/rockchip-linux/rknn-toolkit/relea…

实现有效控制项目进度,需要做好这些工作

制定出切合的项目计划是执行的重要基础,计划制定的过程同时也是计划逐步细化的过程, 进度计划的贯彻是计划实施的第一步,也是最关键的一步。 一、实现有效控制项目进度,需要做好以下工作: 项目计划,决定…

JavaScript · 9:数据类型转换 隐式转换

总览 1.数据转换为string类型 2.数据转换为Number数字类型 3.数据转换为boolean类型 一、将数据转换为string类型 1.方法 最常用的是“加号拼接字符串”,也就是 隐式转换 ,其中用于拼接的字符串内容可以为空 二、将数据转换为number数值类型 1.方…

Vue 响应式实现原理深入浅出

前言 vue 是一个易上手的框架,许多便捷功能都在其内部做了集成,其中最有区别性的功能就是其潜藏于底层的响应式系统。组件状态都是响应式的 JavaScript 对象。当更改它们时,视图会随即更新,这让状态管理更加简单直观。那么&#…

既要又要的正则匹配规则

目录 1 背景 2 浅谈 3 分析 3.1 如何识别成整体块? 3.1.1 正则匹配整体块 3.1.2 “ - ”开头“ - ”结尾 3.1.3 模糊匹配不行,采取精准匹配 3.2 如何作为整体块显示? 3.3 光标不可以中间插入 4 效果展示 5 参考代码 1 背景 在上面…