MySQL表得内外连接

表的连接分为内连接和外连接。

一、内连接

内连接实际上就是利用where子句对两种表形成的笛卡儿积进行筛选,我们前面学习的查询都是内连 接,也是在开发过程中使用的最多的连接查询。

语法:

bash 复制代码
select 字段 from 表1 inner join 表2 on 连接条件 and 其他条件;

案例:显示SMITH的名字和部门名称

二、外连接

外连接分为左外连接和右外连接

2.1左外连接

如果联合查询,左侧的表完全显示我们就说是左外连接。

语法:

bash 复制代码
select 字段名  from 表名1 left join 表名2 on 连接条件

案例:

建立学生表:

建立成绩表:

查询所有学生的成绩,如果这个学生没有成绩,也要将学生的个人信息显示出来:

2.2右外连接

如果联合查询,右侧的表完全显示我们就说是右外连接。

语法:

bash 复制代码
select 字段 from 表名1 right join 表名2  on 连接条件;

案例:对stu表和exam表联合查询,把所有的成绩都显示出来,即使这个成绩没有学生与它对应,也要显示出来

连接的应用:列出部门名称和这些部门的员工信息,同时列出没有员工的部门

bash 复制代码
#方法一:
select d.dname, e.* from dept d left join emp e on d.deptno=e.deptno;
#方法二:
select d.dname, e.* from emp e right join dept d on d.deptno=e.deptno;
相关推荐
harmony&2 分钟前
ETCD 存储系统实战:从单节点部署到 Kubernetes 高可用集群
数据库·kubernetes·etcd
2601_9620664912 分钟前
【玩转全栈】----Django模板的继承
数据库·django·sqlite
玖石书13 分钟前
WSL2 手动安装 Ubuntu 24.04 到指定磁盘位置
linux·运维·ubuntu·wsl
库玛西1 小时前
深入浅出传输层:UDP 与 TCP 协议全景指南
linux·服务器·网络·c++·笔记·tcp/ip·udp
一只小bit1 小时前
Redis哨兵机制、主从复制与集群搭建与维护
数据库·redis·bootstrap
随便做点啥1 小时前
32卡-64G-910B4-16后端-(Qwen3.8-27B-W8A8)集群部署报告
运维·服务器·经验分享·docker·vllm
Chester_19997 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
zlwool8 小时前
图纸管理选型避坑指南
数据库·erp·设备erp·非标机械
Julien20048 小时前
控制 SELinux 文件上下文
linux·运维·服务器
sulikey8 小时前
Linux Core Dump 完全指南:从原理到实战的崩溃调试手册。什么是core dump?程序报错core dumped怎么办?
linux·服务器·操作系统·调试·coredump