MySQL 多表查询 连接查询 自连接

介绍

自连接查询,可以是内连接查询,也可以是外连接查询,一句话自己连接自己,一个表当作两个表进行连接。

语法

SELECT 字段列表 FROM 表A 别名A JOIN 表A  别名B  ON 条件

两个表A说明是同一张表,但是别名不同

案例

在这里插入图片描述

有一张学生表,共4个字段

id:主键
name:学生名字
classes:班级关联(无视即可)
team_id:学生可以分成小组,而一个小组有一个队长,这个关联着主键的ID也就是组长

需求:查询某一个人时,把组长名称和ID一起查出来

SELECT a.*,b.name FROM  students a,students b  WHERE a.id=2 and b.id=a.team_id

在这里插入图片描述

这就自连接,自己连接自己,当成两张表查询

这种方法有缺陷,如果员工没有领导(CEO)那么就会无法查询,查询卢本伟的数据而他的领导是NULL

SELECT a.*,b.name FROM  students a,students b  WHERE a.id=1 and b.id=a.team_id

在这里插入图片描述
这时就可以使用外连接进行查询

SELECT  a.*,b.name FROM  students a  JOIN students b ON a.id=1 and b.id=a.id

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/512607.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【pyinstaller打包记录】程序使用多进程,打包后,程序陷入死循环

简介 PyInstaller 是一个用于将 Python 程序打包成可执行文件(可执行程序)的工具。它能够将 Python 代码和其相关的依赖项(包括 Python 解释器、依赖的模块、库文件等)打包成一个独立的可执行文件,方便在不同环境中运行…

websocket在java中的使用教程

本文从websocket服务端和客户端两个方面简单介绍下websocket在java中的使用。 一、websocket服务端(WebSocketServer) websocket服务端是以本机作为消息的接受端,用于接受客户端websocket发送过来的消息,并可以通过客户端的webs…

Cesium 自定义Primitive - 圆

一、创作思路 1、创建一个自定义CustomPrimitive 2、然后根据两个点,生成圆 3、方便后期绘制圆 二、实现代码 1、在vue的包中加入turf. npm install turf/turf 1、创建一个CustomCirclePrimitive类,并加入更新的代码 export default class CustomCirclePrimitive …

2024年软考重大改革

中国计算机技术职业资格网 考试日期 考试级别 考试资格名称 5月25日至28日 高级 系统分析师 系统架构设计师 信息系统项目管理师 中级 软件设计师 网络工程师 软件评测师 电子商务设计师 嵌入式系统设计师 数据库系统工程师 信息系统管理工程师 初级 程序员 …

lightGBM的学习整理

执行步骤 1、初始化,选择一个初始模型,通常是一个常数,比如分类问题中内的类别概率的先验值,回归问题中的目标变量的平均值。 2、训练决策树,对于每一轮迭代,计算当前模型的梯度(损失函数的负…

鸿蒙应用组件

基础组件 索引组件—AlphabetIndexer&#xff08;相当于安卓的seedbar&#xff09; 使用&#xff1a;AlphabetIndexer(value: {arrayValue: Array<string>, selected: number})空白填充组件—Blank&#xff08;占位使用&#xff0c;当父组件为Row/Column/Flex时生效&am…

chrome插件extensions获取所有窗口tab页和windows页

获取windows页&#xff1a;https://developer.chrome.com/docs/extensions/reference/api/windows?hlzh-cn 获取所有tabs页&#xff1a;https://developer.chrome.com/docs/extensions/reference/api/tabs?hlzh-cnchrome.tabshttps://developer.chrome.com/docs/extensions/…

4G/5G执法记录仪、智能安全帽走国标GB28181接入海康、宇视等大平台,也可走平台与平台对接,以下级平台级联到上级大平台

AIoT万物智联&#xff0c;智能安全帽生产厂家&#xff0c;执法记录仪生产厂家&#xff0c;智能安全帽、智能头盔、头盔记录仪、执法记录仪、智能视频分析/边缘计算AI盒子、车载DVR/NVR、布控球、智能眼镜、智能手电、无人机4G补传系统等统一接入大型融合通信可视指挥调度平台VM…

GO GMP

GMP 为了解决 Go 早期多线程 M 对应多协程 G 调度器的全局锁、中心化状态带来的锁竞争导致的性能下降等问题&#xff0c;Go 开发者引入了处理器 P 结构&#xff0c;形成了当前经典的 GMP 调度模型。 GMP 模型是 Go 语言调度器采用的并发编程模型它包含三个重要的组件&#xf…

独立站营销攻略:塑造品牌,掌控数据,应对挑战

随着出海热的加剧&#xff0c;独立站已成为品牌拓展海外市场的重要组成部分。独立站不仅能够帮助企业建立品牌形象&#xff0c;扩大市场份额&#xff0c;还能够提高用户忠诚度和品牌认知度。然而&#xff0c;独立站在推广营销方面也有着诸多挑战&#xff0c;如流量获取、用户粘…

测试需求平台10-DBUtils 优化数据连接与 SQL Limit 实现分页

✍此系列为整理分享已完结入门搭建《TPM提测平台》系列的迭代版&#xff0c;拥抱Vue3.0将前端框架替换成字节最新开源的arco.design&#xff0c;其中约60%重构和20%新增内容&#xff0c;定位为从 0-1手把手实现简单的测试平台开发教程&#xff0c;内容将囊括基础、扩展和实战&a…

2191. 数字梯形问题(网络流,费用流,最大权不相交路径)

活动 - AcWing 给定一个由 n 行数字组成的数字梯形如下图所示。 梯形的第一行有 m 个数字。 从梯形的顶部的 m 个数字开始&#xff0c;在每个数字处可以沿左下或右下方向移动&#xff0c;形成一条从梯形的顶至底的路径。 规则 1&#xff1a;从梯形的顶至底的 m 条路径互不相…