SQL的多表联查
这里我先附上两张表的数据:
Orders 表:
| OrderID | CustomerID |
|---|---|
| 1 | 3 |
| 2 | 1 |
| 3 | 2 |
| 4 | NULL |
Customers 表:
| CustomerID | CustomerName |
|---|---|
| 1 | Alice |
| 2 | Bob |
| 3 | Charlie |
| 4 | David |
INNER JOIN 🤝
概念: INNER JOIN(内连接)返回两个表中匹配的记录。如果某条记录在其中一个表中没有匹配项,那么它就不会出现在结果集中。
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
结果:
| OrderID | CustomerName |
|---|---|
| 1 | Charlie |
| 2 | Alice |
| 3 | Bob |
解释: 只显示了在两个表中都存在的匹配记录。订单4因为CustomerID为NULL,在Customers表中没有匹配,所以不显示。
LEFT JOIN 👈
概念: LEFT JOIN(左连接)返回左表(LEFT JOIN关键字左边的表)的所有记录,即使在右表中没有匹配。如果右表中没有匹配,则结果为NULL。
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
LEFT JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
结果:
| OrderID | CustomerName |
|---|---|
| 1 | Charlie |
| 2 | Alice |
| 3 | Bob |
| 4 | NULL |
解释: 显示了Orders表中的所有记录,对于CustomerID为NULL的订单4,CustomerName为NULL,因为没有匹配的顾客信息。
RIGHT JOIN 示例 👉
概念: RIGHT JOIN(右连接)与LEFT JOIN相反,它返回右表(RIGHT JOIN关键字右边的表)的所有记录,即使左表中没有匹配。如果左表中没有匹配,则结果为NULL。
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
RIGHT JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
结果:
| OrderID | CustomerName |
|---|---|
| 1 | Charlie |
| 2 | Alice |
| 3 | Bob |
| NULL | David |
解释: 显示了Customers表中的所有记录,对于顾客David,因为没有对应的订单(OrderID为NULL),依然会被列出
FULL JOIN 示例 ↔️ (以支持的数据库为例)
由于不是所有数据库都直接支持FULL JOIN,这里提供一个概念上的说明和一个可能的解决方案(比如在MySQL中使用UNION)。
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
FULL JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
概念上的结果:
| OrderID | CustomerName |
|---|---|
| 1 | Charlie |
| 2 | Alice |
| 3 | Bob |
| 4 | NULL |
| NULL | David |
解释: 显示了Orders和Customers表中的所有记录,两边没有匹配的部分用NULL填充。
总结:
- INNER JOIN:匹配两边的记录,无匹配则不显示。
- LEFT JOIN:以左表为主,左表所有记录均显示,右表无匹配则NULL。
- RIGHT JOIN:以右表为主,右表所有记录均显示,左表无匹配则NULL。
- FULL JOIN:展示两边所有记录,任一边无匹配则对应侧为NULL。
相关文章:
SQL的多表联查
这里我先附上两张表的数据: Orders 表: OrderIDCustomerID1321324NULL Customers 表: CustomerIDCustomerName1Alice2Bob3Charlie4David INNER JOIN 🤝 概念: INNER JOIN(内连接)返回两个表中匹配的记录。如果某条…...
瑞芯微RV1126——人脸识别源码分析
本节内容主要分为3部分,第一部分是流程结构图;第二部分为人脸识别代码流程;第三部分为具体的代码分析。 1.流程结构图 2.人脸识别代码流程 1、人脸数据的初始化: init_all_rockx_face_data();init_face_data();2、创建rtsp会话,这里包括发…...
springboot 两个相同类型的Bean使用@Resouce加载
问题描述 有两个相同类型的Bean 使用Service等注解注入或者Bean注入启动以后报错: qualifying bean of type com.fasterxml.jackson.databind.ObjectMapper available: expected single matching bean but found 2提示有相同的类型两个。 解决 * 每个Bean Resour…...
代码随想录算法跟练 | Day3 | 链表Part1
个人博客主页:http://myblog.nxx.nx.cn 代码GitHub地址:https://github.com/nx-xn2002/Data_Structure.git Day3 203.移除链表元素 题目链接: https://leetcode.cn/problems/remove-linked-list-elements/ 题目描述: 给你一个…...
虚拟化技术[1]之服务器虚拟化
文章目录 虚拟化技术简介数据中心虚拟化 服务器虚拟化服务器虚拟化层次寄居虚拟化裸机虚拟化VMM无法直接捕获特权指令解决方案 服务器虚拟化底层实现CPU虚拟化内存虚拟化I/O设备虚拟化 虚拟机迁移虚拟机动态迁移迁移内容:内存迁移迁移内容:网络资源迁移迁…...
WPF之容器标签之Canvas布局标签
Canvas: 定义一个区域,可在其中使用相对于 Canvas 区域的坐标以显式方式来定位子元素。 实例 可以在子标签使用Canvas属性设置定位 <Canvas Width"500" Height"300"><StackPanel Width"100" Height"100"Backgro…...
AIGC绘画设计基础-建筑设计应用
一、AI及AIGC 对于AI大家都不陌生,但是AIGC这个概念好多人其实不大清楚。“AI”是指人工智能技术本身,而“AIGC”是指基于人工智能技术而生成的内容。 生成式人工智能——AIGC(Artificial Intelligence Generated Content)&…...
Pinia:状态管理库
Pinia 为vue设计的一个现代化的状态管理库,vue3生态系统中的一个核心组件, 专为利用Vue3的新特性设计,替代Vuex称为Vue应用的状态管理标准,提供了更简洁的API,更好的类型安全,以及易于调试的功能 状态管理 在前端应用开发中,用来集中管理和协调应用程序状态的一种工具.在这…...
Mokito的一些API
Mockito是一个Java单元测试框架,它允许开发者创建和配置模拟对象(mock objects),以便在隔离的环境中测试代码,尤其是当实际对象难以构造或其行为不确定时。下面是一些核心的Mockito API及其使用场景和代码示例。 基础…...
前端已死? Bootstrap--CSS组件
目录 Bootstrap 下载 Bootstrap--全局CSS样式 栅格系统 栅格参数 正常显示 实例 代码演示: 排版 代码演示 表格 代码演示 表单 代码演示 等等...(文档很清晰了) Bootstrap--组件 结合演示:(页面) Bootstrap Bootstrap v3 中文文档 Bootstrap 是最受欢迎的 HT…...
codewars check_same_case 题解
题目 编写一个函数来检查两个给定的字符是否大小写相同。 如果任何字符不是字母,则返回-1如果两个字符大小写相同,则返回1如果两个字符都是字母且大小写不同,则返回0 例子 a并g返回1A并C返回1b并G返回0B并g返回00并?返回-1题解 1 此题主…...
【Text2SQL 经典模型】X-SQL
论文:X-SQL: reinforce schema representation with context ⭐⭐⭐⭐ Microsoft, arXiv:1908.08113 X-SQL 与 SQLova 类似,使用 BERT style 的 PLM 来获得 representation,只是融合 NL question 和 table schema 的信息的方式不太一样&#…...
蓉耀·时尚双子星------Yestar艺星首家星美学概念院璀璨启航
在医美行业的璀璨星空中,一颗新星于蓉城冉冉升起,点亮了求美者的道路。5月21日,蓉耀•时尚双⼦星--Yestar艺星首家星美学概念院在成都复城国际璀璨启幕,标志着Yestar艺星全球战略布局在蓉城迈出了重要一步,也意味着其在…...
Undet for SketchUp 2023.3 点云建模软件 支持支持草图大师sketchup2021-2022-2023
1.Undet for sketchup 2023.3支持草图大师sketchup2021-2022-2023。支持机载雷达扫描、车载扫描还是地面扫描,对AEC行业用户来说,真正需要的是如何将这些数据快速处理为三维模型,这样才能将这些信息延展到BIM领域发挥效用。因此面对这些海量的…...
CHI dataless 传输——CHI(4)
上篇介绍了read的操作类型,本篇我们来介绍一下dataless 目录 一、dataless操作概览 二、Non-CMO (Non-Cache Maintenance Operation) 1、CleanUnique 2、StashOnce and StashOnceSep 3、Evict 三、CMO (Cache Maintenance Operation) 一、dataless操作概览 名…...
vue3第三十节(vue3 vite中使用sass)
引言:什么是Sass? Sass(Syntactically Awesome Style Sheets)是一种CSS预处理器,它扩展了CSS的功能,提供了更高级的语法和特性,例如变量、嵌套、混合、继承和颜色功能等,这些特性可以帮助开发…...
blender 烘焙渲染图片,已经导出fbx,导出贴图。插件生成图片
1.新建一个模型。选择资产浏览器的材质,并拖动到模型身上,如下图。资产浏览器的材质可以网上找。 2.打开着色器面板。正下方着色器窗口中,点击空白取消选择,然后右击-添加-着色器-原理化BSDF,右击-添加-纹理-图像纹理。…...
ASO行业面临洗牌,苹果应用商店加搜索广告!
苹果公司全球市场营销高级副总裁菲尔席勒(Phil Schiller),在全球开发者大会开幕前(WWDC)透露了一些应用商店方面的消息。重点包括:1.应用商店搜索中加入广告;2.应用审核加快;3.新的商业模式。 一、 Search Ads搜索广告 这是最令人惊讶的改变,苹果在App Store平台的搜索结果中加…...
Labelme自定义数据集COCO格式【实例分割】
参考博客 labelme标注自定义数据集COCO类型_labelme标注coco-CSDN博客 LabelMe使用_labelme中所有的create的作用解释-CSDN博客 1制作自己的数据集 1.1labelme安装 自己的数据和上面数据的区别就在于没有.json标签文件,所以训练自己的数据关键步骤就是获取标签文…...
【网络安全】Linux 应急响应-溯源-系统日志排查知识点
Linux 应急响应-溯源-系统日志排查知识点汇总 1. 查看当前已经登录到系统的用户 (w 命令) w2. 查看所有用户最近一次登录 (lastlog 命令) lastlog lastlog | grep -v "Never logged in"3. 查看历史登录用户以及登录失败的用户 (last 和 lastb 命令) last lastb4. …...
【Python】 -- 趣味代码 - 小恐龙游戏
文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...
【kafka】Golang实现分布式Masscan任务调度系统
要求: 输出两个程序,一个命令行程序(命令行参数用flag)和一个服务端程序。 命令行程序支持通过命令行参数配置下发IP或IP段、端口、扫描带宽,然后将消息推送到kafka里面。 服务端程序: 从kafka消费者接收…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
浅谈不同二分算法的查找情况
二分算法原理比较简单,但是实际的算法模板却有很多,这一切都源于二分查找问题中的复杂情况和二分算法的边界处理,以下是博主对一些二分算法查找的情况分析。 需要说明的是,以下二分算法都是基于有序序列为升序有序的情况…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...
Mysql中select查询语句的执行过程
目录 1、介绍 1.1、组件介绍 1.2、Sql执行顺序 2、执行流程 2.1. 连接与认证 2.2. 查询缓存 2.3. 语法解析(Parser) 2.4、执行sql 1. 预处理(Preprocessor) 2. 查询优化器(Optimizer) 3. 执行器…...
MySQL JOIN 表过多的优化思路
当 MySQL 查询涉及大量表 JOIN 时,性能会显著下降。以下是优化思路和简易实现方法: 一、核心优化思路 减少 JOIN 数量 数据冗余:添加必要的冗余字段(如订单表直接存储用户名)合并表:将频繁关联的小表合并成…...
探索Selenium:自动化测试的神奇钥匙
目录 一、Selenium 是什么1.1 定义与概念1.2 发展历程1.3 功能概述 二、Selenium 工作原理剖析2.1 架构组成2.2 工作流程2.3 通信机制 三、Selenium 的优势3.1 跨浏览器与平台支持3.2 丰富的语言支持3.3 强大的社区支持 四、Selenium 的应用场景4.1 Web 应用自动化测试4.2 数据…...
解析“道作为序位生成器”的核心原理
解析“道作为序位生成器”的核心原理 以下完整展开道函数的零点调控机制,重点解析"道作为序位生成器"的核心原理与实现框架: 一、道函数的零点调控机制 1. 道作为序位生成器 道在认知坐标系$(x_{\text{物}}, y_{\text{意}}, z_{\text{文}}…...
