03多表查询-子查询(一)

文章目录

  • 第1关:子查询
      • 任务描述
      • 相关知识
    • 答案
  • 第2关:子查询-练习
      • 任务描述
      • 相关知识
    • 答案
  • 第3关:子查询-练习一
      • 任务描述
      • 相关知识
    • 答案
  • 第4关:子查询-练习二
      • 任务描述
      • 相关知识
      • 编程要求
    • 答案
  • 第5关:子查询-练习三
      • 任务描述
      • 相关知识
      • 编程要求
    • 答案
  • 第6关:子查询-练习四
      • 任务描述
      • 相关知识
      • 编程要求
    • 答案

第1关:子查询

任务描述

本关任务:求年龄大于’刘东明’ 的所有学生的姓名与出生日期。

相关知识

为了完成本关任务,你需要掌握:
1.什么叫子查询,
2.比较运算符结合标量子查询的使用。

子查询
子查询是指出现在其他SQL语句内的SELECT子句。

例如:

SELECT * FROM t1 WHERE col1=(SELECT col2 FROM t2);
子查询指嵌套在查询内部,且必须始终出现在圆括号内,子查询可以分为四类:

标量子查询:返回单一值的标量,最简单的形式;

列子查询:返回的结果集是 N 行一列;

行子查询:返回的结果集是一行 N 列;

表子查询:返回的结果集是 N 行 N 列。

带比较运算符的子查询
运算符 说明

大于
= 大于或等于
= 等于
!= 或 <> 不等于
< 小于
<= 小于或等于
带有比较运算符的子查询是指父查询和子查询使用比较运算符连接的嵌套查询;

使用场景:当用户能够确切的知道内层查询返回的是单个值时,可以使用比较运算符。

举个例子,现在有一张employee表数据:

id name dept_id
1 Mary 101
2 Allen 102
3 kevin 101
4 Tom 102
5 Nancy 101
我们查询与Tom在同一个部门的同事id和姓名以及部门id。
1.首先,可以查询Tom所在部门id

2.然后查询dept_id=102的同事id和姓名

将上面两条简单的的SQL语句合并成一个嵌套查询:

编程要求
在右侧编辑器补充代码,求年龄大于’刘东明’ 的所有学生的姓名与出生日期。
–学生表student
学生表
####测试说明

答案

 use teachingdb;/****请在此编写代码,操作完毕之后点击评测******//**********Begin**********/select sname, birthday from student where birthday < (select birthday from student where sname = '刘东明')/**********End**********/

第2关:子查询-练习

任务描述

本关任务:求未选修任何课程的学生的学号和姓名。

相关知识

见上一关

编程要求
根据提示,在右侧编辑器补充代码,求未选修任何课程的学生的学号和姓名。
–学生表student
学生表
–成绩表score
成绩表

答案

 use teachingdb;/****请在此编写代码,操作完毕之后点击评测******//**********Begin**********/-- 未选修任何课程 ==> 他的学号不在成绩表中select sno, sname from student where sno not in(select sno from score);/**********End**********/

第3关:子查询-练习一

任务描述

本关任务:求比数学系中全体学生年龄大的学生的姓名和系

相关知识

见上一关

编程要求
根据提示,在右侧编辑器补充代码,求比数学系中全体学生年龄大的学生的姓名和系。
–学生表student
学生表

答案

 use teachingdb;/****请在此编写代码,操作完毕之后点击评测******//**********Begin**********/select sname, sdept, birthday from student where birthday < (select min(birthday) from student where sdept = '数学');-- select min(birthday) from student where sdept = '数学系';-- select * from student;/**********End**********/

第4关:子查询-练习二

任务描述

本关任务:求选修了004课程的学生的姓名和系。

相关知识

见上一关

编程要求

根据提示,在右侧编辑器补充代码,求选修了004课程的学生的姓名和系。

答案

 use teachingdb;/****请在此编写代码,操作完毕之后点击评测******//**********Begin**********/select sname,sdept from student where sno in (select sno from score where cno = '004')/**********End**********/

第5关:子查询-练习三

任务描述

本关任务:求选修了’刘东明’ 同学选修的全部课程的学生的学号。

相关知识

见上一关

编程要求

在右侧窗口补充代码,求选修了’刘东明’ 同学选修的全部课程的学生的学号。
–学生表student

答案

 use teachingdb;/****请在此编写代码,操作完毕之后点击评测******//**********Begin**********/
--  select * from student;
--  select * from score;select sno from score where cno in (select cno from score where sno = (select sno from student where sname = '刘东明')) and score.sno!= (select sno from student where sname = '刘东明') group by sno having count(cno)>=2 ;-- select sno from score where cno in(select cno from score,student where score.sno = student.sno and sname = '刘东明') and score.sno!= (select sno from student where sname = '刘东明') group by sno having count(cno)>=2 ;/**********End**********/

第6关:子查询-练习四

任务描述

本关任务:求选修了全部课程的学生的学号。

相关知识

见上一关

编程要求

根据提示,在右侧编辑器补充代码, 求选修了全部课程的学生的学号。

答案

 use teachingdb;/****请在此编写代码,操作完毕之后点击评测******//**********Begin**********//* select sno from student where not exists(select * from course where not exists(select * from score where score.sno = student.sno and score.cno = course.cno));*/
-- 从课程表中统计课程门数和从成绩表中根据学号分组统计课程门数
select sno from score group by sno having count(cno)=
(select count(*) from course);/**********End**********/

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

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

相关文章

Spring MVC中,一个HTTP请求可能会被多个Handler处理

在Spring MVC中&#xff0c;一个HTTP请求可能会被多个Handler处理。这些Handler可能是HandlerInterceptor&#xff0c;ControllerAdvice&#xff0c;或者是具体的Controller。以下是这些Handler的执行顺序&#xff1a; 1. HandlerInterceptor的preHandle方法 当一个HTTP请求到…

@Transactional事务注解内含乾坤?

文章目录 前置知识实战1、无事务操作2、事务操作 总结 前置知识 MyBatis中的工作原理 读取配置文件&#xff1a;数据库连接信息、事务管理信息以及映射文件的位置加载映射文件&#xff1a;加载Mapper.xml这些映射文件&#xff0c;解析其中的 SQL 语句和结果映射信息创建 SqlS…

如何在Windows 10上的命令提示符下更改目录?这里提供方法

如果你刚开始在Windows 10上使用命令提示符,你需要知道如何更改目录。 如何在Windows上打开命令提示符 随着你对Windows 10上的命令提示符越来越熟悉,你需要学习的第一件事是如何更改操作系统文件系统中的目录。有几种方法可以做到这一点,所以我们将带你了解它们。 注意:…

JetBrains Mono字体下载及安装

百度云字体下载 提取码&#xff1a;zida 1.mac 安装 选择文件夹中的所有字体文件&#xff0c;然后双击它们。点击“安装字体”按钮。 2.windows 安装 选择文件夹中的字体文件&#xff0c;右键单击其中任何一个&#xff0c;然后从菜单中选择“安装”。 3.linux 安装 将字体…

JCR一区级 | Matlab实现TCN-LSTM-MATT时间卷积长短期记忆神经网络多特征分类预测

JCR一区级 | Matlab实现TCN-LSTM-MATT时间卷积长短期记忆神经网络多特征分类预测 目录 JCR一区级 | Matlab实现TCN-LSTM-MATT时间卷积长短期记忆神经网络多特征分类预测分类效果基本介绍程序设计参考资料 分类效果 基本介绍 1.JCR一区级 | Matlab实现TCN-LSTM-MATT时间卷积长短…

问界新M7 Ultra仅售28.98万元起,上市即交付

5月31日&#xff0c;问界新M7 Ultra正式上市。发布会上&#xff0c;鸿蒙智行旗下多款产品交出最新答卷——问界新M5上市1个月大定突破2万台&#xff1b;智界S7位列30万纯电轿车4月交付量NO.3&#xff1b;问界M9上市5个月大定突破9万台。其中&#xff0c;作为中国高端豪华SUV市场…

STM32CubeMX重新生成代码时如何避免用户代码被覆盖

STM32CubeMX对于在STM32芯片上开发程序非常方便&#xff0c;但是有时发现&#xff1a;使用STM32CubeMX生成keil工程后&#xff0c;在这个工程上开发了一段时间&#xff0c;然后又有外设需要配置&#xff0c;这时使用STM32CubeMX打开MX工程开启外设&#xff0c;最后重新生成keil…

项目启动 | 宏昌电器牵手盘古信息,数字化制造引领企业高质量发展

随着时代的发展&#xff0c;数字化转型已成为实现企业持续增长和塑造竞争优势不可或缺的关键因素。浙江宏昌电器科技股份有限公司&#xff08;以下简称为“宏昌电器”&#xff09;围绕企业战略发展需求&#xff0c;积极加速数字化转型升级进程&#xff0c;以数字化力量推动公司…

计算机网络基础名词英汉译

【ARPANET】&#xff1a;美国国防部创立的第一个分组交换网 【互联网服务提供者ISP】&#xff1a;Internet Service Provider&#xff0c;互联网服务提供商:中国联通、中国移动、中国电信&#xff1b; 【互联网交换点IXP】&#xff1a;Internet eXchange Point,连接两个地区的…

docker-compose jira、bugzilla

一、jira 同这篇文章&#xff1a; linux docker 部署破解版本jira:8.4.0——测试体验(非商用)_jira docker-CSDN博客 直到构建完破解版本的镜像就可以了&#xff5e; 二、bugzilla 1. 拉取镜像&#xff1a; 官网镜像搜索bugzilla&#xff0c;第一个就是&#xff1a; 直接…

mongodb 编码格式 Detected BSON

UTF-8编码兼容性问题 如果有非UTF-8编码的数据用mongo扩展可以读出来&#xff0c;用mongodb扩展读可能会抛异常(Detected corrupt BSON data), 这种一方面需要进行数据修复&#xff0c;另一方面需要堵住入口&#xff0c;避免出现此类问题。这种问题一般是在客户端发送的消息、…

字符串逆序数据结构

在数据结构中&#xff0c;字符串可以被视为一种特殊的数据类型&#xff0c;可以看作由字符组成的有序序列。因此&#xff0c;字符串的逆序可以采用各种数据结构来实现。 一种常见的方法是使用栈&#xff08;Stack&#xff09;数据结构。可以将字符串中的每个字符依次入栈&…

基于51单片机的电子时钟设计

在单片机技术日趋成熟的今天&#xff0c;其灵活的硬件电路和软件电路的设计&#xff0c;让单片机得到广泛的应用&#xff0c;几乎是从小的电子产品&#xff0c;到大的工业控制&#xff0c;单片机都起到了举足轻重的作用。单片机小的系统结构几乎是所有具有可编程硬件的一个缩影…

计算机图形学入门04:视图变换

1.MVP变换 将虚拟场景中的模型投影到屏幕上&#xff0c;也就是二维平面上&#xff0c;需要分三个变换。 1.首先需要知道模型的位置&#xff0c;也就是前面提到的基本变换&#xff0c;像缩放、平移&#xff0c;旋转&#xff0c;也称为模型(Model)变换。 2.然后需要知道从…

归并排序C++代码详解,思路流程+代码注释,带你完全学会归并排序

归并排序 归并排序是一种经典的排序算法&#xff0c;属于分治算法的一种。其核心思想是将一个大问题分解成若干个较小的子问题来解决&#xff0c;然后根据子问题的解构建原问题的解。在排序问题中&#xff0c;归并排序将数组分成两半&#xff0c;分别对这两半进行排序&#xf…

车载软件架构 - AP AUTOSAR 设计思想及原理

车载软件架构 - AP AUTOSAR 设计思想及原理 我是穿拖鞋的汉子&#xff0c;魔都中坚持长期主义的汽车电子工程师。 老规矩&#xff0c;分享一段喜欢的文字&#xff0c;避免自己成为高知识低文化的工程师&#xff1a; 屏蔽力是信息过载时代一个人的特殊竞争力&#xff0c;任何消…

Nginx下载大文件超时配置和请求超时配置等

Nginx下载大文件超时配置和请求超时配置等 location /download {......proxy_buffering off;proxy_connect_timeout 180s;proxy_send_timeout 180s;proxy_read_timeout 180s;proxy_send_timeout 10s;...... }1.proxy_buffering off; 这个指令用于关闭或开启代理响应的缓冲。当…

物联网实战--平台篇之(十一)设备管理后台

目录 一、设备数据库 二、添加设备 三、排序设备 四、重命名设备 五、删除设备 六、移动设备 本项目的交流QQ群:701889554 物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html 物联网实战--驱动篇https://blog.csdn.net/ypp240124016/categ…

MoE大模型

MoE&#xff08;Mixture of Experts&#xff09;架构在人工智能领域具有以下优势&#xff1a; 1. **表现力强大**&#xff1a;MoE通过融合多个专家模型&#xff0c;能够更好地适应不同输入样本的特点&#xff0c;提高模型的表达能力&#xff0c;从而在处理复杂任务时表现出更高…

港科夜闻 | 香港科大于首尔高峰论坛分享三十载发展里程,并与韩国知名机构学府加强交流...

关注并星标 每周阅读港科夜闻 建立新视野 开启新思维 1、香港科大于首尔高峰论坛分享三十载发展里程&#xff0c;并与韩国知名机构学府加强交流。香港科大致力加强与韩国机构和产业的联系&#xff0c;大学高层管理人员于5月29-30日出席首尔一个备受瞩目的论坛&#xff0c;并与当…