当前位置: 首页 > news >正文

Mysql---子查询的三种查询方式( 表子查询,条件子查询,列中子查询)

mysql子查询

子查询分为:

  • 列中子查询 单列单行
  • 表子查询 必须有别名
  • 条件子查询 单行单列 多行单列
    下列示例表结构:
    grade表:
    在这里插入图片描述
    result表:
    在这里插入图片描述
    student表:
    在这里插入图片描述
    subject表:
    在这里插入图片描述

列中子查询 单列单行

列中子查询即
外层查询的结果为其他表的一列数据
示例:
例如查出结果后想要将课程编号换成课程名,就可以使用列中子查询

select a.StudentNo,a.SubjectNo,a.StudentResult,
(select b.SubjectName from `subject` b 
where b.SubjectNo=a.SubjectNo) as 课程名称
from result a;

在这里插入图片描述

表子查询 必须有别名

将一张表的查询结果当成一张现有的表,再次与另外一张表进行连接查询
示例:

select tab.*,d.GradeName from (
select SubjectName,a.StudentNo,c.GradeId,StudentName,StudentResult from result a LEFT JOIN `subject` b 
on a.SubjectNo = b.SubjectNo 
LEFT JOIN student c on a.StudentNo = c.StudentNo
) tab LEFT JOIN grade d on tab.GradeId = d.GradeID;

在这里插入图片描述

条件子查询 单行单列 多行单列

条件子查询用的较多,即将一次查询的查询结果当做另一张表的查询条件,一般这个查询条件要和查询结果字段对应
一般用 = 或者 in来连接
示例:

#查询课程为《高等数学-2 高等数学-1》且分数不小于80分的学生的学号和姓名
select * from result a where a.StudentResult>80
and a.SubjectNo in (
select SubjectNo 
from `subject` b 
where b.SubjectName = "高等数学-2" or b.SubjectName = "高等数学-1"
);

在这里插入图片描述

相关文章:

  • springboot+学校运动会信息管理 毕业设计-附源码231058
  • 进行日常记账后,怎样导出表格
  • Vue3中组件数据的传递以及更改
  • geoserver2.18(8):添加CSW(网络目录服务)扩展及前端开发调用
  • DOM--页面渲染流程
  • LeetCode 85双周赛(补记)
  • Apache DolphinScheduler PMC:开源不一定也要九死一生
  • SpringMVC之拦截器
  • Linux环境Docker的安装过程
  • 第四章【ADFS集成Exchang实现OWA\ECP单点登录SSO】安装Active Directory联合身份验证服务(AD联合身份验证 ADFS)
  • 公众号查题接口
  • 基于瞬态自适应的麻雀搜索算法
  • PHP 使用 PhpSpreadsheet
  • Pytorch获取特征图
  • yaml文件格式说明及编写教程
  • Android开发 - 掌握ConstraintLayout(四)创建基本约束
  • python大佬养成计划----difflib模块
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • 从0实现一个tiny react(三)生命周期
  • 基于遗传算法的优化问题求解
  • 简单易用的leetcode开发测试工具(npm)
  • 今年的LC3大会没了?
  • 码农张的Bug人生 - 见面之礼
  • 前端知识点整理(待续)
  • 实习面试笔记
  • 算法系列——算法入门之递归分而治之思想的实现
  • 你对linux中grep命令知道多少?
  • 仓管云——企业云erp功能有哪些?
  • #define MODIFY_REG(REG, CLEARMASK, SETMASK)
  • #Spring-boot高级
  • #我与Java虚拟机的故事#连载01:人在JVM,身不由己
  • (13)[Xamarin.Android] 不同分辨率下的图片使用概论
  • (17)Hive ——MR任务的map与reduce个数由什么决定?
  • (LeetCode) T14. Longest Common Prefix
  • (Note)C++中的继承方式
  • (rabbitmq的高级特性)消息可靠性
  • (八十八)VFL语言初步 - 实现布局
  • (附源码)springboot社区居家养老互助服务管理平台 毕业设计 062027
  • (附源码)ssm旅游企业财务管理系统 毕业设计 102100
  • (九)One-Wire总线-DS18B20
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (十三)Flask之特殊装饰器详解
  • (转)ABI是什么
  • (转)Spring4.2.5+Hibernate4.3.11+Struts1.3.8集成方案一
  • (转载)OpenStack Hacker养成指南
  • ****** 二 ******、软设笔记【数据结构】-KMP算法、树、二叉树
  • .NET精简框架的“无法找到资源程序集”异常释疑
  • .NET中 MVC 工厂模式浅析
  • @manytomany 保存后数据被删除_[Windows] 数据恢复软件RStudio v8.14.179675 便携特别版...
  • [ linux ] linux 命令英文全称及解释
  • [100天算法】-x 的平方根(day 61)
  • [android] 手机卫士黑名单功能(ListView优化)
  • [ArcPy百科]第三节: Geometry信息中的空间参考解析
  • [BZOJ1053][HAOI2007]反素数ant
  • [CareerCup] 14.5 Object Reflection 对象反射