当前位置: 首页 > news >正文

SQL进阶:多表查询

在SQL基础部分,我们在讲解的过程中只用到了单表查询。但实际上,常见的业务场景单表查询不能满足,或者拆分查询性能过慢。这个时候我们就需要用到连接查询。即查询多表按一定规则合并后的数据

注意,合并后的数据也是,也有的概念,只不过一般存储在内存中。

由于集合操作和连接对比学习更便于记忆,所以这里我们也说一下集合操作

连接的类型

连接,顾名思义,要有连接点。连接点即两表中作为等值条件的列。

如果两个表没有主次,即匹配列在两表中必须全部有值,不允许部分匹配,则我们使用的是inner join

如果有主表,则看连接的是左边表作为主表(使用left join),还是右边表作为主表(使用right join)。次表中的行若匹配时就取,不匹配则为空,主表中的数据则会全取。

集合操作的类型

集合操作,即交、并、补,在SQL中分别对应着union、intersectexcept

相关文章:

SQL进阶:多表查询

在SQL基础部分,我们在讲解的过程中只用到了单表查询。但实际上,常见的业务场景单表查询不能满足,或者拆分查询性能过慢。这个时候我们就需要用到连接查询。即查询多表按一定规则合并后的数据。 注意,合并后的数据也是表&#xff…...

多层负载均衡实现

1、单节点负载均衡 1)站点层与浏览器层之间加入了一个反向代理层,利用高性能的nginx来做反向代理 2)nginx将http请求分发给后端多个web-server 优点: 1)DNS-server不需要动 2)负载均衡:通过ngi…...

Redis取最近10条记录

有时候我们有这样的需求,就是取最近10条数据展示,这些数据不需要存数据库,只用于暂时最近的10条,就没必要在用到Mysql类似的数据库,只需要用redis即可,这样既方便也快! 具体取最近10条的方法&a…...

Mybatis之增删改查

目录 一、引言 二、Mybatis——增 举例:添加用户 三、Mybatis——删 举例:删除用户 四、Mybatis——改 举例:修改用户 五、Mybatis——查 六、注意 END: 一、引言 书接上回,我们在了解完mybatis之后,肯…...

Go 代码检查工具 golangci-lint

一、介绍 golangci-lint 是一个代码检查工具的集合,聚集了多种 Go 代码检查工具,如 golint、go vet 等。 优点: 运行速度快可以集成到 vscode、goland 等开发工具中包含了非常多种代码检查器可以集成到 CI 中这是包含的代码检查器列表&…...

SwiftUI 趣谈之:绝不可能(Never)的 View!

概览 SwiftUI 的出现极大的解放了秃头码农们的生产力。SwiftUI 中众多原生和自定义视图对于我们创建精彩撩人的 App 功不可没! 不过,倘若小伙伴们略微留意过 SwiftUI 框架头文件里的源代码,就会发现里面嵌有一些奇怪 Never 类型&#xff0c…...

etcd是什么

目录 1.关于etcd2.应用场景 本文主要介绍etcd 概念和基本应用场景。 1.关于etcd etcd是一个开源的、分布式的键值存储系统,用于共享配置和服务发现。它是由CoreOS团队开发的,主要用于实现分布式系统的配置管理和服务发现。 etcd的主要特性包括&#x…...

应用全局的UI状态存储AppStorage

目录 1、概述 2、StorageProp 2.1、观察变化和行为表现 3、StorageLink 3.1、观察变化和行为表现 4、从应用逻辑使用AppStorage和LocalStorage 5、从UI内部使用AppStorage和LocalStorage 6、不建议借助StorageLink的双向同步机制实现事件通知 6.1、推荐的事件通知方式…...

MySQL数据库 触发器

目录 触发器概述 语法 案例 触发器概述 触发器是与表有关的数据库对象,指在insert/update/delete之前(BEFORE)或之后(AFTER),触发并执行触发器中定义的soL语句集合。触发器的这种特性可以协助应用在数据库端确保数据的完整性,日志记录&am…...

C语言学习之给定任意的字符串,清除字符串中的空格

实例要求:给定任意的字符串,清除字符串中的空格,并将其输出;实例分析:1、指针函数实现,需要注意指针函数的返回值是一个指针类型;2、字符类型的数组实现,循环遍历并赋给新的数组&…...

由实验数据进行函数拟合的python实现

0.引言 已知公式求参的过程,对工程而言,一般是一个线性拟合或者非线性拟合的过程。我们现在来以代码片段为例,来描述如何求参。一般这个过程会涉及超定方程的计算。这个过程,原本需要使用matlab,现在python照样可以做…...

<JavaEE> 基于 UDP 的 Socket 通信模型

目录 一、认识相关API 1)DatagramSocket 2)DatagramPacket 3)InetSocketAddress 二、UDP数据报套接字通信模型概述 三、回显客户端-服务器通信 1)服务器代码 2)客户端代码 一、认识相关API 1)Data…...

Golang 链表的基础知识

文章目录 链表链表基础知识部分链表的存储方式链表的定义链表的操作性能分析 链表 更多有关于go链表的内容可以见这篇文章链表的创建和读取 链表基础知识部分 什么是链表,链表是一种通过指针串联在一起的线性结构,每一个节点由两部分组成,…...

webpack 常见面试题

1、什么是webpack(必会) webpack是一个打包模块化javascript的工具,在webpack里一切文件皆模块,通过loader转换文件,通过plugin注入钩子,最后输出由多个模块组合成的文件,webpack专注构建模块化…...

three.js实战模拟VR全景视图

文章中使用到的案例图片都来源于&#xff1a;Humus - Textures 里面有很多免费的资源&#xff0c;可以直接下载&#xff0c;每个资源里面都提供6个不同方位的图片&#xff0c;我们通过threejs稍微处理一下&#xff0c;就能实现以下3D效果的场景了。 <template><div …...

聊聊Spring Boot配置文件:优先级顺序、bootstrap.yml与application.yml区别详解

Spring Boot 配置文件 优先级顺序 在Spring Boot中&#xff0c;配置文件的优先级顺序是&#xff1a;bootstrap.yml > application.yml > application-{profile}.yml&#xff0c;其中 {profile} 表示不同的环境配置&#xff0c;如 dev、test、prod 等。当存在相同名称的…...

Milvus向量数据库基础用法及注意细节

1、Milvus数据类型与python对应的数据类型 Milvus Python DataType.INT64 numpy.int64 DataType.INT32 numpy.int32 DataType.INT16 numpy.int16 DataType.BOOL Boolean DataType.FLOAT numpy.float32 DataType.DOUBLE numpy.double DataType.ARRAY list DataT…...

虚拟机多开怎么设置不同IP?虚拟机设置独立IP的技巧

随着虚拟化技术的不断发展&#xff0c;虚拟机已经成为了许多人的必备工具。在虚拟机中&#xff0c;我们可以轻松地创建多个虚拟机&#xff0c;并在每个虚拟机中设置不同的IP地址。下面&#xff0c;我们将介绍如何在虚拟机中设置独立IP地址的方法。 一、虚拟机多开设置不同IP的方…...

使用Docker-镜像命令

镜像名称一般分两部分组成:[repository]:[tag] 在没有指定tag时&#xff0c;默认是latest&#xff0c;代表最新版本的镜像 目录 案例一&#xff1a;从DockerHub中拉取一个nginx镜像并查看 1.1. 首先去镜像仓库搜索nginx镜像&#xff0c;比如DockerHub ​编辑 1.2.操作拉取n…...

4.3 C++对象模型和this指针

4.3 C对象模型和this指针 4.3.1 成员变量和成员函数分开存储 在C中&#xff0c;类内的成员变量和成员函数分开存储 只有非静态成员变量才属于类的对象上 #include <iostream>class Person { public:Person() {mA 0;} //非静态成员变量占对象空间int mA;//静态成员变量…...

嵌入式Qt GUI开发实战:从界面设计到硬件控制的完整流程

1. 项目概述&#xff1a;从虚拟界面到物理世界的桥梁在嵌入式开发领域&#xff0c;一个令人兴奋的里程碑就是让图形界面&#xff08;GUI&#xff09;真正“动”起来&#xff0c;去控制物理世界中的硬件。很多朋友在学习了Qt的基础控件和界面设计后&#xff0c;常常会问&#xf…...

RX100微控制器超低功耗架构与优化策略

1. RX100微控制器超低功耗架构解析RX100系列微控制器采用创新的True Low Power™技术架构&#xff0c;在130nm低漏电工艺基础上实现了三大突破性设计。首先是独创的多级电压调节系统&#xff0c;包含NVHC&#xff08;标准电压&#xff09;、LVHC&#xff08;低电压高速&#xf…...

WESTINGHOUSE 4D33900G19电源模块

WESTINGHOUSE 4D33900G19 电源模块产品特点4D33900G19 是西屋电气&#xff08;WESTINGHOUSE&#xff09;工业控制系统中的一款电源模块&#xff0c;为系统提供稳定可靠的电源供应。4D33900G19 采用高可靠性工业级设计&#xff0c;适用于连续运行的严苛工业环境。支持宽范围交流…...

【Oracle数据库指南】第37篇:Oracle角色与PROFILE管理详解

上一篇【第36篇】Oracle用户与权限管理详解&#xff08;完整版&#xff09; 下一篇【第38篇】Oracle数据库备份策略与实现详解 摘要 角色&#xff08;Role&#xff09;是权限的命名集合&#xff0c;通过角色可以将多个权限统一管理&#xff0c;简化复杂的权限授予操作&#xf…...

四川南充纺织减速机升级:从传统织机到智能传动

千年绸都的"心脏"正在换代南充&#xff0c;古称果州&#xff0c;素有"中国绸都"之美誉。从汉代丝绸之路的起点之一&#xff0c;到如今四川省重要的纺织产业基地&#xff0c;南充纺织业绵延两千余年。然而&#xff0c;支撑这一产业蓬勃发展的&#xff0c;不…...

3步解锁自动化:Elsevier Tracker智能追踪工具完全指南

3步解锁自动化&#xff1a;Elsevier Tracker智能追踪工具完全指南 【免费下载链接】Elsevier-Tracker 项目地址: https://gitcode.com/gh_mirrors/el/Elsevier-Tracker 在科研投稿的漫长等待中&#xff0c;每一次手动刷新Elsevier投稿系统都像是在黑暗中摸索。Elsevier…...

【OpenClaw全面解析:从零到精通】第53篇:OpenClaw多模态能力应用实战:Computer Use Agent、Peekaboo v3视觉自动化与语音交互完整指南

上一篇&#xff1a;【第52篇】OpenClaw企业级安全加固与合规实战&#xff1a;零信任架构与等保2.0/NIS2/GDPR合规完整指南 下一篇&#xff1a;【第54篇】OpenClaw v2026.6.x深度解析&#xff1a;多Agent协作框架与插件市场GUI&#xff08;明日更新&#xff0c;敬请期待&#xf…...

别再死记硬背了!用Python写个八字神煞自动查询工具(附完整源码)

用Python构建八字神煞自动化查询系统&#xff1a;从古籍规则到现代代码的实践指南 在传统文化与现代技术的交汇点上&#xff0c;总有一些令人着迷的课题等待探索。八字神煞作为传统命理学中的重要组成部分&#xff0c;其复杂的查询规则和记忆方法常常让初学者望而生畏。想象一下…...

银行AI大模型应用火爆!小白也能学会的数智转型秘籍,速收藏!

文章阐述了银行业在金融行业AI转型中的领先地位&#xff0c;AI大模型已从试点探索进入规模化落地阶段。银行采用自研与合作模式发展大模型&#xff0c;应用场景覆盖智能客服、信贷风控、运营自动化、财富管理及合规审计等核心业务。文章通过多个银行案例展示了AI大模型在降本增…...

ESXi防火墙白名单机制详解:从预置规则到手动添加9999端口的实战踩坑记录

ESXi防火墙白名单机制深度解析与9999端口实战指南 当你在ESXi主机上部署了一个简单的Python HTTP服务&#xff0c;监听9999端口&#xff0c;却发现从外部网络无法访问时&#xff0c;问题很可能出在ESXi独特的防火墙白名单机制上。与常见的黑名单式防火墙不同&#xff0c;ESXi采…...