Mysql表的复合查询
1.基本查询
使用scott案列
----来源csdn:
Mysql下-scott用户表的创建_风泊月mysql 员工表-CSDN博客
案列1:查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大小的J
查询雇员,从emp表中查询,sal>500 or job==’MANAGER’表示查询工资高于500或岗位为MANAGER, ename like ‘J%’表示查询ename为J开头。
也可以使用函数进行截取ename来进行判断:
substring(ename,1,1)=’J’;
案例2:将雇员按部门号升序而工资降序进行排序:
----表示将相同部门号的雇员按工资,以降序排列
order by deptno asc,sal desc;
不显示其他信息:
案例3:按年薪降序进行排序
年薪等于sal*12+comm comm为奖金
按年薪排:
加上奖金(comm可为null,当comm为null时,不能参加运算)
ifnull(comm,0)表示comm若为null就取0,若不为null就取comm
案例4:显示工资最高的员工的名字和工作岗位:
显示一个最高:
但是可能有多个员工工资都为最高工资:
通过子查询和聚合函数进行查找
先通过子查询select max(sal) from emp找到最高工资,再交给where进行筛选:
select ename,job from emp where sal=(select max(sal) from emp);
案例4:显示工资高于平均工资的员工名和工资
同样通过select子句找出平均工资,再交给where进行筛选:
select ename,sal from emp where sal>(select avg(sal) from emp);
案例5:显示每个部门的平均工资和最高工资,只显示整数部分
通过format进行格式化
通过将每个部门分组(group by)再寻找平均工资和最高工资
案例6:显示平均工资低于2000的部门号和它的平均工资:
先算每个部门的平均工资:
再通过having对聚合函数处理的数据进行筛选:
select deptno avg(sal) 平均工资 from emp group by deptno having 平均工资>2000;
案例7:显示每种岗位的雇员总数,平均工资
先算每种岗位的员工总数:
select count(*) from emp group by job;
再算平均工资:
select count(*),avg(sal) from emp group by job;
再优化显示:
select job 岗位,count(*) 岗位员工总数,format(avg(sal),0) 岗位平均工资 from emp group by job;
2.多表查询
实际开发中数据往往来自不同的表,所以需要多表查询。
同样引用
Mysql下-scott用户表的创建_风泊月mysql 员工表-CSDN博客
来源的soctt数据库进行演示:
案例1:显示雇员名,工资和部门名
其中的部门名不属于员工表,而是部门表,需要从两张表进行整合:
先拿到两张表的全部数据:select * from emp,dept;
发现是将emp表中的一个数据与dept表中的所有数据进行穷举:
每一个emp表中的数据都会与dept表中的所有数据进行组合。
------称为两张表中的笛卡尔积,将两张表中的所有数据都进行了组合。
但是一个emp表中的数据只有一个dept表中的数据对它有意义,所以要将对它没用的数据筛选出去:
select * from emp,dept where emp.deptno=dept.deptno;
只显示有意义的数据:
再筛选出要求打印的员工名,工资,部门名:
select ename,sel,dname from emp,dept where emp.deptno=dept.deptno;
案例2:显示部门号为10的部门名,员工名和工资
3.自连接
自连接时指在同一张表连接查询-----对一张表中的数据做笛卡尔积
如:
dept表:
将同一张表中的数据进行笛卡尔积,因为表名不能重复出现,所以用as进行重命名:
select * from dept as t1,dept as t2;
案例1:显示员工CLARK的上级领导的编号和姓名---mgr是上级编号,同时也是上级的empno
先在员工表中找CLARK的领导的编号:select mgr from emp where ename=’CLARK’;
再在员工表中找编号为7839的员工姓名:
select enam from emp where empno=7839;
就找到了CLARK的领导姓名
通过子查询来一条sql实现:
select ename,empno where empno=(select mgr from emp where ename=’CLARK’);
或通过自连接实现一条sql语句实现:
先做笛卡尔积,再筛选出员工CLARK与同一张表中所有员工组合的数据:
select * from emp e1,emp e2 where e1.ename=’CLARK’;
再筛选出与e1表中的CLARK的mgr编号对应的empno编号
select * from emp e1,emp e2 where e1.ename=’CLARK’ and e1.mgr=e2.empno;
再优化,仅打印领导编号和姓名:
select e2.empno,e2.ename from emp e1,emp e2 where e1.ename=’CLARK’ and e1.mgr=e2.empno;
4.子查询
子查询是指嵌入在其他sql语句中的select语句,也叫嵌套查询
select 和子查询后的表结构都能进行笛卡尔积
4.1单行子查询
返回一行记录的子查询---子查询返回的结果是单列单行的
案例:显示和KING同一部门的员工
4.2多行子查询
返回多行记录的子查询----子查询返回的结果是多行单列的
4.2.1 in关键字使用,in是用来判断列值是否在某一个集合当中。
此处用于筛选是否在多行子查询返回的集合当中。
案例:查询和10号部门的员工的工作岗位相同的雇员的名字,岗位,工资,部门号,但是不包括10号部门本身的员工。
先找出10号部门员工去重后的工作岗位:
再找出与这些工作岗位相同的员工的名字,岗位,工资,部门号:
用in判断是否在子查询集合当中
再去除10号部门的员工本身。
用deptno <> 10 来表示deptno不等于10
4.2.2 all关键字----与子查询返回的所有行进行比较
any关键字---与子查询返回的任意一行进行比较,只要有一个为真,就为真
案例:显示工资比部门号为30号的所有员工的工资都高的员工的姓名,工资和部门号
先拿到30号部门的员工最高工资:
select max(sal) from emp where deptno=30;
再筛选工资高于30部门最高工资的员工的姓名,工资和部门号:
select ename ,sal,deptno from emp where sal>(select max(sal) from emp where deptno=30);
也可以通过多行子查询进行筛选:
先拿到30号部门所有人的工资:
select distinct sal from emp where demptno=30;
再找出比30号部门所有人工资都高的员工---通过all将数据与子查询返回的所有数据进行比较。
select ename,sal,deptno from emp where sal > all(select distinct sal from emp where deptno=30);
通过any语句找出比30号部门任意一员工工资高的员工,30号部门员工除外:
select ename,sal,deptno from emp where sal> any(select distinct sal from emp where deptno=30) and deptno <> 30;
4.3多列子查询
单行子查询是指子查询指返回单列,单行数据;多行子查询是指返回单列多行数据,都是针对单列而言的,而多列子查询是指查询多个列数据的子查询语句。
案列:查询和ALLEN员工的部门和岗位完全相同的员工,不包含ALLEN自身
先拿到ALLEN的部门和岗位:
select deptno,job from emp where ename=’ALLEN’;
包含两列信息
再查找与这两列信息都相同的员工
select * from emp where (deptno,job)=(select deptno,job from emp where ename=’ALLEN’);
再去除ALLEN自身:and ename <>’ALLEN’;
也可以通过in,all,any进行多列多行子查询。
目前全部的子查询,都是在where字句中充当判断条件,但是查询出来的临时表结构,在本质是也是表。
5.在from字句中使用子查询
子查询语句出现在from子句中----将一个子查询返回的数据作为一个临时表使用。
案列1:显示每个高于自己部门平均工资的员工姓名,部门,工资,平均工资,最后拿到每个人的办公地点
先拿到每个部门的平均工资:
select avg(sal) from emp group by deptno;
再将部门平均工资表和员工表做笛卡尔积,
拿到员工部门号和平均工资部门号相同的,
再将工资进行比较
最后将打印信息进行筛选
再将上表交给from拿到这些人的办公地点
select t1.ename,dept.loc,t1.deptno from dept,(select emp.ename,emp.deptno from emp,(select deptno,avg(sal) 部门平均工资 from emp group by deptno) tmp where emp.deptno=tmp.deptno and emp.sal>tmp.部门平均工资) t1 where t1.deptno=dept.deptno;
案列2:查找每个部门工资最高的人的姓名,工资,部门,最高工资
先拿到每个部门工资最高的人
再将这张表交给from与emp表进行笛卡尔积
再除去工资不匹配的
再比对部门是否一致
最后除去无用信息
案例3:显示每个部门的部门名,编号,地址和人员数量
先拿到每个部门的人员数量
再将上表交给from与dept表进行笛卡尔积
再筛选出两边部门号一致的数据
得到结果
解决多表问题的本质:想办法将多表转换成为单表,所以MySQL中,所有select问题全部都可以转换成单表问题。
6.合并查询
在实际应用中,为了合并多个select的执行结果,可以使用集合操作符号union,union all2
6.1union
union用于取得两个结果集的并集。当使用改操作符时,会自动去掉结果集中的重复行。
案例:将工资大于2500或职位时MANAGER的人展示
先找工资大于2500的员工
再找职位为MANAGER的员工
最后取得两个结果集的并集
6.2union all
取两结果的并集,不对结果中的重复行去除。
案例:同样将工资大于2500或职位为MANAGER的人展示
select * from emp where sal>2500 union all select * from emp where job=’MANAGER’;
相关文章:
Mysql表的复合查询
1.基本查询 使用scott案列 ----来源csdn: Mysql下-scott用户表的创建_风泊月mysql 员工表-CSDN博客 案列1:查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大小的J 查询雇员,从emp表中查询,s…...
RAG技术的PDF智能问答系统
关键要点 系统基于RAG(检索增强生成)技术,允许用户上传PDF并进行智能问答。 使用Ollama的deepseek-r1模型和FAISS向量数据库,支持普通对话和基于PDF的问答模式。 提供简洁的Web界面,支持文件拖拽上传和多轮对话。 研…...
【Java基础-52】Java中URL类的openConnection()方法:原理与应用场景
在Java编程中,java.net.URL类是一个非常重要的类,用于表示统一资源定位符(URL)。通过URL类,我们可以方便地访问网络资源。其中,openConnection()方法是URL类中一个非常强大的方法,它允许我们与U…...
android为第三方提供部分系统接口
文章目录 Settings - 亮灭屏Settings - 恢复出厂设置Settings - 数字锁屏/解锁Settings - 设置系统时间PackageInstaller - 安装/卸载第三方应用摘要:本文对系统模块进行改造,提供广播等形式的接口对外提供无法直接调用的系统级别接口,实现部分功能的集合。如果是广播形式,…...
C#控制台应用程序学习——3.8
一、语言概述 1、平台相关性 C# 主要运行在.NET 平台上。.NET 提供了一个庞大的类库,C# 程序可以方便地调用这些类库来实现各种功能,如文件操作、数据库访问、网络通信等。 2、语法风格 C# 的语法与 C、C 和 Java 有一定的相似性。例如,它使用…...
钣金加工行业数字化转型MES方案
一、 行业痛点:钣金加工行业普遍面临以下挑战: 订单多样化、小批量、定制化需求增多:传统生产模式难以适应快速变化的市场需求。 生产流程复杂、工序繁多:涉及切割、折弯、焊接、表面处理等多个环节,协同效率低。 生产…...
算法-回溯算法总结
回溯与递归的区别 回溯的本质是穷举,回溯一定代表有递归 递归就一直往深处递归就好了,但是回溯还伴随着递归结束之后的”回溯操作“,例如递归中处理的1,在回溯中要-1。 回溯的算法思路 一般都是返回void,参数不能一下子全部想定…...
ORACLE 执行查询语句慢(不走对应索引)
1. 索引未被创建或未正确创建 确保为查询中涉及的列创建了索引。例如,如果你经常需要按column_name列进行查询,确保已经为该列创建了索引,索引创建语句 CREATE INDEX idx_column_name ON table_name(column_name); 2、索引不可用 原因:索引可能被标记为不…...
零售交易流程相关知识(top-down拆解)
引入 关于POS机交易时的后台数据交互 模块之间数据交换,都可以能被窃取或篡改。由此引入加密、解密机制和签名、验签机制 经典的加密、解密机制: 对称加密:DES\ TDES\ AES\ RC4 非对称加密:RSA\ DSA\ ECC 经典的签名、验签…...
在人工智能软件的帮助下学习编程实例
1 引言 本文记录在人工智能软件的帮助下学习一种全新的编程环境的实例,之所以提人工智能软件而不是单指DeepSeek,一方面DeepSeek太火了,经常服务器繁忙,用本机本地部署的最多运行70b模型,又似乎稍差。另一方面也作为一…...
C语言_数据结构总结5:顺序栈
纯C语言代码,不涉及C 想了解链式栈的实现,欢迎查看这篇文章:C语言_数据结构总结6:链式栈-CSDN博客 这里分享插入一下个人觉得很有用的习惯: 1. 就是遇到代码哪里不理解的,你就问豆包,C知道&a…...
c++ 游戏入门指南
在C++游戏开发中,你需要结合高性能编程、图形学、数学和游戏设计等多方面的知识。以下是C++游戏开发的核心步骤、工具和资源整理,帮助你从入门到进阶: 1. 开发环境搭建 编译器:MSVC(Visual Studio)、GCC、Clang。IDE:Visual Studio(Windows)、JetBrains CLion(跨平台…...
npm : 无法加载文件 C:\Program Files\nodejs\npm.ps1,因为在此系统上禁止运行脚本。
1、在 vscode 终端执行 get-ExecutionPolicy 返回 Restricted 状态是禁止的 返回 RemoteSigned 状态是可正常执行npm命令 2、更改状态 set-ExecutionPolicy RemoteSigned 如果提示需要管理员权限,可加参数运行 Set-ExecutionPolicy -Scope CurrentUser RemoteSi…...
STM32项目分享:智能家居语音系统(ASRPRO版)
目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 PCB图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片: 哔哩哔哩视频链接: STM32智能家居语音系统(ASRPRO版&am…...
vue2实现组件库的自动按需引入,unplugin-auto-import,unplugin-vue-components
1.使用ant-design-vue或者element-ui时,如何每个组件都去import导入组件,大大降低了开发效率,如果全局一次性注册会增加项目体积,那么如何实现既不局部引入,也不全局注册? 2.在element-plus官网看到有说明…...
前端安全面试题汇总及参考答案
目录 简述 XSS 攻击的原理及三种常见类型(存储型、反射型、DOM 型) 如何在前端防御 XSS 攻击?列举编码、过滤、CSP 策略的具体实现方式 富文本编辑器场景下如何安全处理用户输入的 HTML 内容? 如何通过 HttpOnly 属性增强 Cookie 安全性?它与 XSS 防御的关系是什么? …...
《打造视频同步字幕播放网页:从0到1的技术指南》
《打造视频同步字幕播放网页:从0到1的技术指南》 为什么要制作视频同步字幕播放网页 在数字化信息飞速传播的当下,视频已然成为内容输出与获取的核心载体,其在教育、娱乐、宣传推广等诸多领域发挥着举足轻重的作用 。制作一个视频同步字幕播…...
Redis 篇
一、数据结构 二、持久化方式 Redis 提供了两种主要的持久化方式,分别是 RDB(Redis Database)和 AOF(Append Only File),此外,还可以同时使用这两种方式以增强数据安全性,以下为你…...
STM32常见外设的驱动示例和代码解析
以下是针对STM32常见外设的驱动示例和代码解析,基于HAL库实现,适用于大多数STM32系列(如F1/F4/H7等),可根据具体型号调整引脚和时钟配置。 1. GPIO驱动 应用场景:控制LED、按键检测、继电器开关等。 示例代码: // 初始化LED(推挽输出) void LED_Init(void) {GPIO_In…...
docker-compose Install reranker(fastgpt支持) GPU模式
前言BGE-重新排名器 与 embedding 模型不同,reranker 或 cross-encoder 使用 question 和 document 作为输入,直接输出相似性而不是 embedding。 为了平衡准确性和时间成本,cross-encoder 被广泛用于对其他简单模型检索到的前 k 个文档进行重新排序。 例如,使用 bge 嵌入模…...
【计算机网络入门】应用层
目录 1.网络应用模型 1.1 C/S模型(客户端服务器模型) 1.2 P2P模型(对等模型) 2. DNS系统 2.1 域名 2.2 域名解析流程 3. FTP文件传输协议 4. 电子邮件系统 4.1 SMTP协议 4.2 pop3协议 4.3 IMAP协议 4.4 基于万维网的电…...
/***************************所有笔记汇总目录***************************/
文章分类目录 STM32CubeMX 01、STM32CubeMX——定时器(普通模式和PWM模式) 02、STM32CubeMX——串口(HAL库) 03、STM32CubeMX——(uart_IAP串口)简单示例 04、STM32CubeMX——ADC采集单通道,多通道,内部…...
mysql虚拟列
目录 1. 关于虚拟列 2. 虚拟列分类 3. 虚拟列使用 3.1 创建虚拟列 3.2 为虚拟列添加索引 3.3 验证虚拟列索引是否生效 3.4 删除虚拟列 1. 关于虚拟列 MySQL 5.7 版本引入了虚拟列(也称为生成列)的功能,这是一种在物理表上定义的虚拟列…...
【瞎折腾/ragflow】构建docker镜像并部署使用ragflow
说在前面 操作系统:win11docker desktop版本:4.29.0docker engin版本:v26.0.0ragflow版本:nightly 安装docker 官网 如果是win11,backend建议使用wsl2 安装好后打开docker desktop,不然docker命令用不了 …...
Django模型数据修改:详解两种方式
Django模型数据修改:详解两种方式 在Django框架中,数据模型(Model)定义了应用的数据结构,并提供了与数据库交互的接口。数据的修改是Django开发中的常见操作之一。本文将详细介绍两种在Django中修改数据的方式&#x…...
Gradle 配置 Lombok 项目并发布到私有 Maven 仓库的完整指南
Gradle 配置 Lombok 项目并发布到私有 Maven 仓库的完整指南 在 Java 项目开发中,使用 Lombok 可以极大地减少样板代码(如 getter/setter 方法、构造器等),提高开发效率。然而,当使用 Gradle 构建工具并将项目发布到私…...
docker 常用命令教程
文章目录 docker常用命令教程1. 镜像拉取镜像删除镜像查看镜像列表 2. 容器运行容器启动容器停止容器查看容器设置容器开机自启向容器输入命令 3. 镜像传输提交容器为镜像镜像解压缩登录命令推送远程仓库(需先在主机上登录账号) docker常用命令教程 1. 镜像 拉取镜像 docker…...
机器学习编译
一、机器学习概述 1.1 什么是机器学习编译 将机器学习算法从开发形态通过变换和优化算法使其变成部署形态。即将训练好的机器学习模型应用落地,部署在特定的系统环境之中的过程。 开发形态:开发机器学习模型时使用的形态。Pytorch,TensorFlow等通用框…...
mysql中什么机制保证宕机数据恢复
MySQL 通过多种机制来保证在宕机或意外崩溃时数据的完整性和可恢复性。这些机制主要包括 事务日志、崩溃恢复 和 数据持久化 等。以下是 MySQL 中保证数据恢复的核心机制: 1. 事务日志(Transaction Log) 事务日志是 MySQL 实现数据恢复的核心机制之一,主要包括 Redo Log(…...
使用 display: flex 实现动态布局:每行两个 item,单数时最后一个占满整行
文章目录 使用 display: flex 实现动态布局:每行两个 item,单数时最后一个占满整行 🎯一、需求分析二、实现思路三、代码实现1. HTML 结构2. CSS 样式关键点解析: 四、效果演示HTML 示例:效果: 五、完整代码…...
android 支持自定义布局、线程安全、避免内存泄漏的 Toast 工具类
支持自定义布局:可以灵活地显示自定义样式的 Toast。 线程安全:确保在主线程中显示 Toast,避免崩溃。 避免内存泄漏:使用 ApplicationContext 和取消机制,防止内存泄漏问题。 工具类:作为一个通用的工具…...
密码学系列 - 利用CPU指令加速
CPU擅长的操作: AES 指令, SHA 指令为了充分利用流水线带来的好处,出现了一种叫做RISC的CPU架构。RISC是Reduced Instruction Set Computer(精简指令集)的缩写 SHA加速 Filecoin系列 - 源码分析 - CPU SHA扩展 当前的构造在某些阶段确实涉…...
什么是美颜SDK?从几何变换到深度学习驱动的美颜算法详解
美颜SDK是一种用于处理图像与视频的开发工具,能够提供磨皮、美白、瘦脸、五官优化、动态贴纸等美颜特效。它广泛应用于直播、短视频、社交、在线会议、电商等行业,帮助用户在视频或图片中实现更好的视觉呈现。 一、从几何变换到深度学习:美颜…...
用Deepseek写一个五子棋微信小程序
在当今快节奏的生活中,休闲小游戏成为了许多人放松心情的好选择。五子棋作为一款经典的策略游戏,不仅规则简单,还能锻炼思维。最近,我借助 DeepSeek 的帮助,开发了一款五子棋微信小程序。在这篇文章中,我将…...
FPGA 实验报告:四位全加器与三八译码器仿真实现
目录 安装Quartus软件 四位全加器 全加器、半加器 半加器: 全加器: 四位全加器电路图 创建项目 半加器 全加器 四位全加器 代码实现 半加器 全加器 四位全加器 三八译码器 创建项目 代码展示 modelsim仿真波形图 四位全加器 三八译码…...
Vercel Serverless
1. 引言 现代应用程序是为适应当前技术环境需求而设计的软件,采用现代开发工具和实践,针对云部署和可扩展性优化。它们由多个模块化小组件组成,便于集成和缩放,具有高度的敏捷性和适应性,能快速响应用户或业务需求变化…...
胜软科技冲刺北交所一年多转港股:由盈转亏,毛利率大幅下滑
《港湾商业观察》施子夫 近期,山东胜软科技股份有限公司(以下简称,胜软科技)递表港交所获受理,独家保荐机构为广发证券(香港)。 在赴港上市之前,胜软科技还曾谋求过A股上市&#x…...
JJJ:linux sysfs相关
文章目录 1.sysfs(属性)文件的创建、读、写1.1 创建流程1.2 open流程1.3 read流程 2.补充2.1 sysfs下常见目录介绍2.2 属性相关2.2.1 简介2.2.2 attribute文件的创建 2.3 sysfs目录如何创建的 1.sysfs(属性)文件的创建、读、写 1…...
vue3 遇到babel问题(exports is not defined) 解决方案
由于我在引用ant-design-vue插件,于是产生了下图的问题。 1.问题分析 Babel 是一个 JavaScript 编译器,主要用于:将 ES6 代码转译为 ES5 代码,以兼容旧版浏览器。处理模块化语法(如 import/export)。 2.解…...
《原型链的故事:JavaScript 对象模型的秘密》
原型链(Prototype Chain) 是 JavaScript 中实现继承的核心机制。每个对象都有一个内部属性 [[Prototype]](可以通过 __proto__ 访问),指向其原型对象。每个对象都有一个原型, 原型本身也是一个对象…...
Python怎样安装,Windows/Mac/Linux系统安装教程
Python的安装步骤如下,结合不同操作系统和关键注意事项进行说明: 一、Windows系统安装 下载安装包 访问Python官网,点击“Downloads”选择适合的版本(推荐稳定版,如3.9或3.10,避免最新版可能的不兼容问题&a…...
03.08
1. 数字三角形 题目描述 上图给出了一个数字三角形。从三角形的顶部到底部有很多条不同的路径。对于每条路径,把路径上面的数加起来可以得到一个和,你的任务就是找到最大的和。 路径上的每一步只能从一个数走到下一层和它最近的左边的那个数或者右 边的那…...
LeetCode 解题思路 11(Hot 100)
解题思路: 若相等: 直接返回 true。若当前元素大于目标值: 由于列递增,当前列下方所有元素均大于目标值,故排除该列(向左移动)。若当前元素小于目标值: 由于行递增,当前…...
使用websocket,注入依赖service的bean为null
问题:依赖注入失败,service获取不到,提示null 这是参考代码 package com.shier.ws;import cn.hutool.core.date.DateUtil; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.google.gson.Gson; import com.s…...
【数据结构初阶】---堆的实现、堆排序以及文件中的TopK问题
1.树的概念及结构 1.1树的概念 树是一种非线性的数据结构,它是由n(n>0)个有限结点组成一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。 有一个特殊的结点&…...
【量化策略】均值回归策略
【量化策略】均值回归策略 🚀量化软件开通 🚀量化实战教程 技术背景和应用场景 均值回归策略是一种基于统计学原理的量化交易策略,它假设资产价格会围绕其历史平均水平波动。当价格偏离这个平均水平时,就有可能会回到平均值附…...
设计模式 - 工厂模式 精准梳理精准记忆
1、代码片段 - 带入理解 一、核心模式分类 简单工厂模式(编程习惯,非 GoF 设计模式)工厂方法模式(GoF 创建型模式)抽象工厂模式(GoF 创建型模式) 二、演变过程:咖啡店案例 初始实现…...
WIFI ESP8266以及基础功能介绍
芯片一旦烧写了程序就不可以使用AT指令集,需要重新刷回AT指令库才可以使用 wifi的通信频段是2.4G免费频段。 AT指令 AT(attention)command set.AT指令集或命令集,一般称为AT指令 海斯命令集:Hayes command set 默认…...
面试java做了一道逻辑题,人麻了
题目:给你一个5升水壶,一个6升水壶,去池塘中取水,如何保证最后取出的水是3升? 思考了很久终于想出来了,这里用X5代表5升的桶,X6代表6升的桶: ① 6升桶装满,X50ÿ…...
go语言因为前端跨域导致无法访问到后端解决方案
前端服务8080访问后端8081这端口显示跨域了 ERROR Network Error AxiosError: Network Error at XMLHttpRequest.handleError (webpack-internal:///./node_modules/axios/lib/adapters/xhr.js:116:14) at Axios.request (webpack-internal:///./node_modules/axios/lib/core/A…...