MySQL数据库基础(十二):子查询(三步走)

news2024/11/23 18:34:05

文章目录

子查询(三步走)

一、子查询(嵌套查询)的介绍

二、子查询的使用

三、总结


子查询(三步走)

一、子查询(嵌套查询)的介绍

在一个 select 语句中,嵌入了另外一个 select 语句, 那么被嵌入的 select 语句称之为子查询语句,外部那个select语句则称为主查询。

主查询和子查询的关系:

  • 子查询是嵌入到主查询中

  • 子查询是辅助主查询的,要么充当条件,要么充当数据源(数据表)

  • 子查询是可以独立存在的语句,是一条完整的 select 语句

二、子查询的使用

例1、查询学生表中大于平均年龄的所有学生

需求:查询年龄 > 平均年龄的所有学生

前提:

① 获取班级的平均年龄值

② 查询表中的所有记录,判断哪个同学 > 平均年龄值

第一步:写子查询

select avg(age) from students;

第二步:写主查询

select * from students where age > (平均值);

第三步:第一步和第二步进行合并

select * from students where age > (select avg(age) from students);

例2、查询学生在班的所有班级名字

需求:显示所有有学生的班级名称

前提:

① 先获取所有学员都属于那些班级

② 查询班级表中的所有记录,判断是否出现在①结果中,如果在,则显示,不在,则忽略。

第一步:编写子查询

select distinct cls_id from students is not null;

第二步:编写主查询

select * from classes where cls_id in (1, 2, 3);

第三步:把主查询和子查询合并

select * from classes where cls_id in (select distinct cls_id from students where cls_id is not null);

例3、查找年龄最小,成绩最低的学生

第一步:获取年龄最小值和成绩最小值

select min(age), min(score) from student;

第二步:查询所有学员信息(主查询)

select * from students where (age, score) = (最小年龄, 最少成绩);

第三步:把第一步和第二步合并

select * from students where (age, score) = (select min(age), min(score) from students);

三、总结

子查询是一个完整的SQL语句,子查询被嵌入到一对小括号里面

掌握子查询编写三步走


  • 📢博客主页:https://lansonli.blog.csdn.net

  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!

  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉

  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

 

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

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

相关文章

数据结构与算法:栈

朋友们大家好啊,在链表的讲解过后,我们本节内容来介绍一个特殊的线性表:栈,在讲解后也会以例题来加深对本节内容的理解 栈 栈的介绍栈进出栈的变化形式 栈的顺序存储结构的有关操作栈的结构定义与初始化压栈操作出栈操作获取栈顶元…

基于springboot实现的音乐网站

一、系统架构 前端:html | js | css | bootstrap 后端:springboot | mybatis 环境:jdk1.8 | mysql | maven 二、 代码及数据库 三、功能介绍 01. 登录页 02. 用户注册 03. 首页 04. 喜欢 05. 查询

以程序员的视角,看前后端分离的是否必要?

Hello,我是贝格前端工场,本篇分享一个老生常谈的话题,前后端分离是必然趋势,但也是要区分具体的场景,欢迎探讨,关注,有前端开发需求可以私信我,上车了。 一、什么是前后端分离和不分…

【dc-dc】世微AP5125 外置MOS 5-100V 8A平均电流型LED降压恒流驱动器 SOT23-6

产品描述 AP5125 是一款外围电路简单的 Buck 型平均电流检测模式的 LED 恒流驱动器,适用于 8-100V 电压范围的非隔离式大功率恒流 LED 驱动领域。芯片采用固定频率 140kHz 的 PWM 工作模式, 利用平均电流检测模式,因此具有优异的负载调整 率特…

一种简单高效的新算法(2021)|算术优化算法AOA原理及其利用 (Matlab/Python)

文章来源于我的个人公众号:KAU的云实验台,主要更新智能优化算法的原理、应用、改进 CEC2005中的测试 本文KAU将介绍一个由Abualigah等人于2021年发表在Comput. Methods Appl. Mech. Eng.上的元启发式算法——算术优化算法(Arithmetic Optimization Al…

书生·浦语大模型实战营-第三课笔记

1、langchain工作流程 2、数据收集及向量化处理 数据收集是向量数据库的源头,可以理解为后续我们要长期采集和更新的知识库或者数据源,在本课中采用了几个项目中的txt和md文档作为数据源 3、接入langchain

搜索专项---DFS之连通性模型

文章目录 迷宫红与黑 一、迷宫OJ链接 本题思路:DFS直接搜即可。 #include <iostream> #include <cstring> #include <algorithm>constexpr int N110;int n; char g[N][N]; bool st[N][N]; int x1, y1, x2, y2;int dx[4] {-1, 0, 1, 0}, dy[4] {0, 1, 0, …

如何复制IDEA中的提示?

在idea中&#xff0c;例如下面的提示我使用ctrl c怎么都复制不了&#xff0c;其实是有窍门的。 窍门很简单&#xff1a; 首先先把光标移动到提示框内&#xff0c;然后用alt 鼠标左键复制&#xff0c;提示框会自动关闭&#xff0c;这时就已经复制成功了&#xff01;&#xff…

ARM处理器运行Windows系统的三防加固平板|亿道三防

大家好&#xff01;今天我要为大家介绍一款引人注目的三防加固平板电脑——亿道三防系列产品。它们采用高通ARM处理器&#xff0c;并能够运行Windows 11操作系统&#xff0c;给用户带来了前所未有的强大性能和多样化的应用体验。 首先&#xff0c;让我们来聊聊这款平板电脑的核…

数字世界的探索者:计算机相关专业电影精选推荐

目录 推荐计算机专业必看的几部电影 《黑客帝国》 《社交网络》 《乔布斯传》 《心灵捕手》 《源代码》 《盗梦空间》 《头号玩家》 《我是谁&#xff1a;没有绝对安全的系统》 《战争游戏》(WarGames) 《模仿游戏》(The Imitation Game) 《硅谷》(Silicon Valley) …

力荐程序猿/媛必看电影/电视剧

前言 电影不仅是一种极富趣味的娱乐形式&#xff0c;而且在带来欢乐的同时&#xff0c;还能拓宽人们的视野&#xff0c;让人增长知识。许多电影也展现了编剧和导演极其出众、强大的创造力&#xff1b;还有一些电影&#xff0c;在我们不了解相关专业知识的情况下&#xff0c;可…

stm32——hal库学习笔记(定时器)

这里写目录标题 一、定时器概述&#xff08;了解&#xff09;1.1&#xff0c;软件定时原理1.2&#xff0c;定时器定时原理1.3&#xff0c;STM32定时器分类1.4&#xff0c;STM32定时器特性表1.5&#xff0c;STM32基本、通用、高级定时器的功能整体区别 二、基本定时器&#xff0…

【笔试强训错题选择题】Day1.习题(错题)解析

文章目录 前言 错题题目 错题解析 总结 前言 错题题目 1. 2. 3. 错题解析 1. 解析&#xff1a;D 解题思路&#xff1a; 本题有一个父类Base&#xff1b;同时有一个子类Child继承父类Base&#xff1b; 本题考察的是子类中的方法要与父类的方法构成重写的操作&#xff1b; 相…

springboot整合mybatisPlus超级详细

springboot整合mybatis-plus超级详细 一、环境二、springboot整合myBatisPlus2.1新建2.2 添加Mybatis-plus和mysql依赖2.3 修改配置文件2.4 新建包和文件2.5 新建表2.6 创建实体类2.7 创建Mapper接口2.8 创建Service接口2.9 创建Service实现类2.10 增删改查 MyBatis-Plus&#…

【前端】前端三要素之DOM

写在前面&#xff1a;本文仅包含DOM内容&#xff0c;JavaScript传送门在这里&#xff0c;BOM传送门在这里。 本文内容是假期中刷的黑马Pink老师视频&#xff08;十分感谢Pink老师&#xff09;&#xff0c;原文保存在个人的GitLab中&#xff0c;如果需要写的网页内容信息等可以评…

Springboot项目的run debug都是灰色解决方法

IDEA下新建SpringBoot项目后&#xff0c;问题显示如下&#xff1a; 解决方法如下&#xff1a; 这个问题是由于缺少Configuration构建器的原因&#xff0c;因此&#xff1a; 1.点击Add Configuration 添加Spring Boot构建器&#xff0c;启动类选择好&#xff0c;点击确认即可&a…

2024新版Java高频面试题+Java八股文面试真题

Java面试题_2024新版Java高频面试题Java八股文面试真题 Java高频面试专题视频课程&#xff0c;瓤括了Java生态下的主流技术面试题&#xff0c;课程特色&#xff1a; 1、全面&#xff0c;jvm、并发编程、mysql、rabbitmq、spring、mybatis、redis、分布式、微服务、数据结构等等…

在UE5中使用OverlayMaterial制作多材质效果

UE5.1中新增了OverlayMaterial&#xff0c;可以让物体套用2个材质球效果&#xff0c;如A材质球为正常材质内容&#xff0c;B材质球为菲涅尔&#xff0c;或是B材质球是法线外拓描边等&#xff0c;该功能类似Unity的多pass效果&#xff0c;方便了日常使用。 下面就讲将怎么用Ove…

(十五)devops持续集成开发——jenkins流水线构建策略配置及触发器的使用

前言 本节内容我们主要介绍在Jenkins流水线中&#xff0c;其构建过程中的一些构建策略的配置&#xff0c;例如通过远程http构建、定时任务构建、轮询SCM构建、参数化构建、Git hook钩子触发构建等&#xff0c;可根据不同的需求完成不同构建策略的配置。 正文 Throttle build…

TypeScript on the way:学习TypeScript

个人博客:Sekyoro的博客小屋 个人网站:Proanimer的个人网站 早该学学了. 之前写过Python的类型系统,如果对于写C,Java,C#等这类语言来说,typing根本不成问题,所以理解TypeScript也不是问题. 特殊的类型 any,unknown与never any,unknown是"顶层类型",never是&quo…