MySQL——基础——外连接
一、外连接查询语法:(实际开发中,左外连接的使用频率要高于右外连接)
左外连接
SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件...;
相当于查询表1(左表)的所有数据 包含 表1和表2交集部分的数据
右外连接
SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件...;
相当于查询表2(右表)的所有数据 包含 表1和表2交集部分的数据
二、外连接演示
1.查询participators表中的所有数据,和对应的部门信息(左外连接):必须使用左外连接,因为participators表中的陈友谅没有dept_id
而左外连接会完全包含左表(participators)的数据,因此participators中的陈友谅也会被查出来
select p.*, d.name
from participators pleft outer join department d on p.dept_id = d.id;
select p.*, d.name
from participators pleft join department d on p.dept_id = d.id;

2.查询department表中的所有数据,和对应的员工信息(右外连接):右外连接完全包含右表的所有数据,而department表中的数据没有与陈友谅相关联的数据,因此陈友谅查不出来
select d.*, p.*
from participators pright outer join department d on d.id = p.dept_id;
select d.*, p.*
from participators pright outer join department d on p.dept_id = d.id;
也可以使用左外连接实现右外连接的操作(左右都是相对的,只要把右外连接中的右变为左,右外连接中的左变为右,再进行左外连接就行了)
select d.*, p.*
from department dleft outer join participators p on d.id = p.dept_id;
相关文章:
MySQL——基础——外连接
一、外连接查询语法:(实际开发中,左外连接的使用频率要高于右外连接) 左外连接 SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件...; 相当于查询表1(左表)的所有数据 包含 表1和表2交集部分的数据 右外连接 SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN …...
spring boot 实现Redisson分布式锁及其读写锁
分布式锁,就是控制分布式系统中不同进程共同访问同一共享资源的一种锁的实现。 1、引入依赖 <dependency><groupId>org.redisson</groupId><artifactId>redisson-spring-boot-starter</artifactId><version>3.15.5</versio…...
java-IONIO
一、JAVA IO 1.1. 阻塞 IO 模型 最传统的一种 IO 模型,即在读写数据过程中会发生阻塞现象。当用户线程发出 IO 请求之后,内 核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线…...
Python学习笔记_基础篇(十一)_socket编程
python 线程与进程简介 进程与线程的历史 我们都知道计算机是由硬件和软件组成的。硬件中的CPU是计算机的核心,它承担计算机的所有任务。 操作系统是运行在硬件之上的软件,是计算机的管理者,它负责资源的管理和分配、任务的调度。 程序是运行…...
C#8.0本质论第三章--更多数据类型
C#8.0本质论第三章–更多数据类型 3.1类型的划分 一个类型要么是值类型,要么是引用类型。区别在于拷贝方式:值类型数据总是拷贝值;引用类型的数据总是拷贝引用。 3.1.1值类型 3.1.2引用类型 引用类型的变量存储对数据存储位置的引用。 3.…...
浅拷贝与深拷贝
作者简介: zoro-1,目前大一,正在学习Java,数据结构等 作者主页: zoro-1的主页 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 浅拷贝与深拷贝 浅拷贝浅拷贝定义浅拷贝代码演示浅…...
背包 问题
1、背包问题 1.1、01背包 题目: 有n件物品和一个容量为m的背包,第i件物品的体积是v[ i ],价值是w[ i ],每件物品只有一件,求在不超过背包容量的前提下,可以放的物品的最大价值是多少 基本思路ÿ…...
蓝牙资讯|安卓将加强耳机音量监控,耳机查找功能将更加普遍
为了保护用户的听力健康,Android 14 将增加一项新功能,当用户使用耳机听音乐时,如果音量过高或持续时间过长,系统会发出警告,并自动降低音量。这个功能叫做“耳机音量过高警告(headphone loud sound alert&…...
vue,element。监听快捷键粘贴图片,添加到el-upload的列表。
在①中,粘贴图片,图片能够自动添加到底下el-upload组件的文件列表②。 // 对应① <el-card><el-tooltip content"粘贴图片至此" placement"top"><input readonly class"pasteImg" paste.prevent"hand…...
时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)
时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价) 目录 时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)预测结果基本介绍程序设计参考资料 预测结果 基本介绍…...
编织梦想:SpringBoot AOP 教程与自定义日志切面完整实战
什么是 AOP AOP 是指通过预编译方式和运行期动态代理的方式,在不修改源代码的情况下对程序进行功能增强的一种技术。AOP 不是面向对象编程(OOP)的替代品,而是 OOP 的补充和扩展。它是一个新的维度,用来表达横切问题&a…...
AssignableTypeFilter 和 AnnotationTypeFilter什么区别?
在 Spring 框架中,AssignableTypeFilter 和 AnnotationTypeFilter 都是用于在组件扫描过程中进行过滤的工具类,用于筛选出特定类型或特定注解的类。它们的主要区别在于筛选的侧重点和使用方式。 AssignableTypeFilter: AssignableTypeFilte…...
TCP-事件模型
#include "main.h"VOID Server_write_error() {}/*1.打开网络库 * 2.校验网络库版本 * 3.创建SOCKET * 4.绑定IP地址和端口 * 5.开始监听 * 6.创建客户端socket/接受链接 * 7.与客户端收发消息 * 8.(6.7)两步的函数accept,send,recv 有堵塞,可…...
typescript 声明文件
作用 1、为已存在js库提供类型信息,这样在ts项目中使用这些库时候,就像用ts一样,会有代码提示、类型保护等机制 2、项目内共享类型:如果多个.ts文件中都用到同一个类型,此时可以创建.d.ts文件提供该类型,…...
BC96 有序序列判断
描述 输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序(相同元素也视为有序)。 数据范围:3≤n≤50 序列中的值都满足1≤val≤100。 输入描述 第一行输入一个整数N(3≤N≤50)。 第二行…...
QT操作excel的两种方式 QT基础入门【Excel的操作】
QT操作excel的方式有两种:QAxObject 和QtXlsx QAxObject是通过调用office或者wps组件来实现对excel图表的操作的。只有装office软件或者wps软件就可以实现,但是 如果只装了office软件,有时可以用有时不可以用;如果只装wps软件&a…...
c++ qt--QString,弹出框(第二部分)
c qt–QString,弹出框(第二部分) 一.QString 1.所用头文件 #include<QString>2.功能 1.初始化 可以用字符,常量字符串、字符指针、字符数组等类型给QString进行初始化 QString str2"4567";//进行初始化2.拼…...
CSS自学框架之动画
这一节,自学CSS动画。主要学习了淡入淡出、淡入缩放、缩放、移动、旋转动画效果。先看一下成果。 优雅的过渡动画,为你的页面添加另一份趣味! 在你的选择器里插入 animation 属性,并添加框架内置的 keyframes 即可实现࿰…...
RabbitMQ的5种消息队列
RabbitMQ的5种消息队列 1、七种模式介绍与应用场景 1.1 简单模式(Hello World) 一个生产者对应一个消费者,RabbitMQ 相当于一个消息代理,负责将 A 的消息转发给 B。 应用场景:将发送的电子邮件放到消息队列,然后邮件服务在队列…...
【C语言】选择排序
基本原理 先找到数组中最大的那个数,将最大的数放到数组最右端(交换a[maxid]和a[len-1]这两个数的位置),然后继续从a[0]到a[len-2]中找到最大的数,然后交换a[maxid]和a[len-2]位置,依次查找交换,…...
嵌入式开发实战:从ADC纹波故障看系统集成调试与EMC设计
1. 项目背景与问题缘起:当“新”设备遭遇“老”问题在工业设备开发领域,尤其是像线锯这类集精密机械、复杂电气和嵌入式软件于一体的复杂系统,有一个经典且令人头疼的场景:一款经过验证的成熟产品平台,在衍生出新机型或…...
如何用DdddOcr在3分钟内构建离线验证码识别系统
如何用DdddOcr在3分钟内构建离线验证码识别系统 【免费下载链接】ddddocr 带带弟弟 通用验证码识别OCR pypi版 项目地址: https://gitcode.com/gh_mirrors/dd/ddddocr 在当今的自动化测试、数据采集和网络安全领域,验证码识别是绕不开的技术难题。传统的在线…...
从CAD到PCB的‘神同步’:利用Altium Designer图层映射,让你的丝印层(Top Overlay)自动对齐结构孔
从CAD到PCB的‘神同步’:Altium Designer图层映射实战指南 在消费电子和嵌入式设备开发中,PCB与外壳结构的精确对齐常常成为产品落地的最后一道障碍。想象一下:当结构工程师更新了智能手表外壳的3D模型,新增了螺丝孔位和屏幕开口&…...
基于OpenClaw的MacOS自动化AI助手:架构、配置与实战
1. 项目概述:一个为MacOS设计的自动化AI助手 最近在折腾桌面自动化,特别是想把一些高频、重复的跨应用操作给整合起来。比如,我经常需要在Telegram或WhatsApp上接收消息,然后根据内容去浏览器查资料、整理到笔记软件,或…...
Sora 2如何“唤醒”3D Gaussian Splatting?:从神经辐射场到毫秒级动态场景生成的4层技术跃迁解析
更多请点击: https://intelliparadigm.com 第一章:Sora 2与3D Gaussian Splatting融合的范式革命 传统视频生成模型受限于体素网格或NeRF隐式表示的计算开销与几何保真度瓶颈,而Sora 2通过引入时空一致性token压缩机制,与3D Gaus…...
智能家居安全新突破:视觉AI如何实现从感知到认知的跨越
1. 项目概述:当视觉智能成为家庭安全的“火眼金睛”最近几年,智能家居的概念越来越火,从智能门锁到语音助手,似乎家里的一切都在变得“聪明”。但说实话,很多所谓的“智能”安全方案,比如单纯依靠门窗传感器…...
抖音下载器终极指南:从零开始掌握无水印批量下载技巧
抖音下载器终极指南:从零开始掌握无水印批量下载技巧 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppor…...
企业内如何安全地通过Taotoken管理各部门的AI模型使用权限
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 企业内如何安全地通过Taotoken管理各部门的AI模型使用权限 对于中大型企业而言,引入大模型能力是提升效率的关键一步&a…...
C# 图像清晰度“核武器”:8个PictureBox永不模糊的硬核实战技巧
在 Windows Forms 开发中,PictureBox 是我们展示视觉效果的窗口。然而,你是否曾因为图片在缩放或背景色不匹配时变得模糊、锯齿横生,甚至出现难看的“黑边”而感到抓狂?这不仅影响用户体验,更是对完美主义开发者的一种…...
技术深度解析CoverM在PacBio HiFi宏基因组测序数据覆盖率分析中的应用
技术深度解析CoverM在PacBio HiFi宏基因组测序数据覆盖率分析中的应用 【免费下载链接】CoverM Read alignment statistics for metagenomics 项目地址: https://gitcode.com/gh_mirrors/co/CoverM CoverM作为一款专门用于计算基因组覆盖率的生物信息学工具,…...
