首页 > 数据库 >MySQL【知识改变命运】11

MySQL【知识改变命运】11

时间:2024-10-22 23:47:15浏览次数:7  
标签:11 表中 查询 student MySQL 改变命运 where id select

联合查询

6. ⼦查询

⼦查询是把⼀个SELECT语句的结果当做别⼀个SELECT语句的条件,也叫嵌套查询

6.1 语法

select * from table1 where col_name1 {= | IN} (
 select col_name1 from table2 where col_name2 {= | IN} [(
 select ...)
 ] ...
)

6.2 单⾏⼦查询

嵌套的查询中只返回⼀⾏数据
• ⽰例:查询与"不想毕业"同学的同班同学

mysql> select * from student where class_id = (select class_id from student 
where name = '不想毕业');
  1. 确定参与查询表:学生表

  2. 先查出不想毕业这位同学的班级编号
    在这里插入图片描述

  3. 在学生表中查出与不想毕业的同班同学,过滤条件是class_id=2在这里插入图片描述

  4. 组合成子查询的方式
    在这里插入图片描述

  5. 过滤掉不想毕业这位同学的记录

在这里插入图片描述

在这里插入图片描述

6.3 多⾏⼦查询

嵌套的查询中返回多⾏数据,使⽤[NOT] IN关键字
• ⽰例:查询"MySQL"或"Java"课程的成绩信息

select * from score where score.course_id in (select course.id from course where course.`name`='MySQL' or name='java' );
  1. 确定参与查询的表:
    课程表,成绩表。
  2. 先查询课程表中的课程信息

在这里插入图片描述

  1. 通过课程编号在分数表里中查询对应的分数

在这里插入图片描述

  1. 合并成子查询的方式

在这里插入图片描述
再查询不包括mysql和java的成绩
在这里插入图片描述

6.4 多列⼦查询

单⾏⼦查询和多⾏⼦查询都只返回⼀列数据,多列⼦查询中可以返回多个列的数据,外层查询与嵌套
的内层查询的列要匹配
• ⽰例:查询重复录⼊的分数
1.对重复的列进行分组并计算这组重复的个数
在这里插入图片描述

  1. 进行对重复数据的筛选

在这里插入图片描述

  1. 确定内层条件并加入到外层查询当中

在这里插入图片描述

6.5 在from⼦句中使⽤⼦查询

当⼀个查询产⽣结果时,MySQL⾃动创建⼀个临时表,然后把结果集放在这个临时表中,最终返回
给⽤⼾,在from⼦句中也可以使⽤临时表进⾏⼦查询或表连接操作
• ⽰例:查询所有⽐"Java001班"平均分⾼的成绩信息
在这里插入图片描述
在这里插入图片描述
三表关联

  1. 再用成绩表中的真实成绩与平均分做比较

在这里插入图片描述
在这里插入图片描述

  • 这里小总结一下:用子查询返回的值,用于where 子句里面,用子查询生成的临时表 用于from 子句中。

7. 合并查询

  • 在实际应⽤中,为了合并多个select操作返回的结果,可以使⽤集合操作符 union,union all

7.1 创建新表并初始化数据

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7.2 Union

  • 该操作符⽤于取得两个结果集的并集。当使⽤该操作符时,会⾃动去掉结果集中的重复⾏。

  • ⽰例:查询student表中 id < 3 的同学和student1表中的所有同学

在这里插入图片描述

  • 还可以单表操作
    在这里插入图片描述

7.3 Union all

该操作符⽤于取得两个结果集的并集。当使⽤该操作符时,不会去掉结果集中的重复⾏
在这里插入图片描述
如果查询结果来自多个表,那么推荐使用合并查询

8. 插⼊查询结果

8.1 语法

INSERT INTO table_name [(column [, column ...])] SELECT ...

8.2 ⽰例

• 将student表中C++001班的学⽣复制到student1表中
student1插入前的原表。
在这里插入图片描述
student表中C++001班的数据
在这里插入图片描述
语句插入
在这里插入图片描述
插入成功:
在这里插入图片描述

标签:11,表中,查询,student,MySQL,改变命运,where,id,select
From: https://blog.csdn.net/2402_84062064/article/details/143102882

相关文章

  • MySQL DQL 10.22
    --一基础查询--1查询多个字段--SELECT字段列表FROM表名 ;--SELECT*FROM表名;--查询所有数据--2去除重复记录--SELECTDISTINCT字段列表FROM表名;--3起别名--AS--AS也可以省略--selectname,sexas性别fromstu;--selectDISTINCTnamefromstu......
  • Mysql基础命令总结
    1.DDL1.1操作数据库和表DataDefinitionLanguage数据定义语言Create,Retrieve(查询),update,Delete1.1.1操作数据库显示所有数据库:showdatabases;显示创建得数据库:showcreatedatabase数据库名称;创建一个数据库:createdatabase数据库名称;创建数据库前先判断是......
  • Android 11.0 系统屏幕灭屏时当收到通知时亮屏功能实现
    1.前言在11.0的系统rom定制化开发中,在对于设备灭屏时,收到通知短信功能系统默认是不亮屏的,但是由于产品开发需要要求在收到短信和通知的时候要求亮屏处理,接下来就来实现这个功能2.系统屏幕灭屏时当收到通知短信时亮屏功能实现的核心类frameworks/base/core/java/android/ap......
  • 例题2.11
    例题2.11代码importstringimportrandomx=string.ascii_letters+string.digitsy=''.join([random.choice(x)foriinrange(1000)])d=dict()forchiny:d[ch]=d.get(ch,0)+1fork,vinsorted(d.items()):print(k,':',v)......
  • 例题2.11_2
    例题2.11_2代码importstring,random,collectionsx=string.ascii_letters+string.digitsy=''.join([random.choice(x)foriinrange(1000)])count=collections.Counter(y)fork,vinsorted(count.items()):print(k,':',v)......
  • MySQL学习笔记
    目录基础篇:通用语法:基础操作:DDL-数据库操作:基本指令:数据类型:数值类型:字符串类型:日期时间类型:表结构修改:DML-增、删、改操作:插入操作:修改、删除操作:DQL-查询操作:DQL-编写顺序:基础查询:条件查询:分组查询:聚合函数:语法:排序查询:分页查询:DQL-执行顺序:DCL-用户管理:DCL-权限控制:函数:字符串......
  • 如何实现聚水潭·奇门销售数据与MySQL的高效对接
    聚水潭·奇门数据集成到MySQL的技术案例分享在现代企业的数据管理中,如何高效、准确地实现不同系统之间的数据对接和集成是一个重要的课题。本文将聚焦于一个具体的系统对接案例:将聚水潭·奇门平台上的销售出库单数据集成到MySQL数据库中的BI智选-销售出库表。为了确保数据集成......
  • 题解:P11207 「Cfz Round 9」Rose
    可以考虑把字符串\(s\),\(t\)按\(s_1t_1s_2t_2\dotss_nt_n\)拼接,记为\(a\)。为了方便表述,这里分别把PVW表示为012。Subtask0我会暴力!可以直接在\(a\)上进行dfs,复杂度为\(O(3^{2n})\)。Subtask1我会找性质!注意到答案只有可能是\(0,1,2\),因为在最坏情况下,只......
  • 题解:P11204 「Cfz Round 9」Lone
    首先可以观察出把木棍平均分是最优的。然后平均分后最多只有两种长度的木棒,长度分别为\(\lfloor\frac{m}{n}\rfloor\)和\(\lfloor\frac{m}{n}\rfloor+1\)。最后check一下就行了。代码:#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#define......
  • Python——脚本实现datax全量同步mysql到hive
    文章目录前言一、展示脚本二、使用准备1、安装python环境2、安装EPEL3、安装脚本执行需要的第三方模块三、脚本使用方法1、配置脚本2、创建.py文件3、执行脚本4、测试生成json文件是否可用前言在我们构建离线数仓时或者迁移数据时,通常选用sqoop和datax等工具进行......