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;
相关推荐
见过夏天4 小时前
C++ 基础入门完全指南
c++
jiayou648 小时前
KingbaseES 表级与列级加密完全指南
数据库·后端
XIAOHEZIcode12 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
GBASE1 天前
G术时刻 |GBase 8s数据库事务并发控制之封锁技术介绍(下)
数据库
用户805533698031 天前
不止三件套:QObject 属性系统全关键字与运行时反射!
c++·qt
xiezhr2 天前
逛GitHub发现了一款免费的带AI功能的数据库管理工具
数据库·ai编程·dba
BadBadBad__AK2 天前
线段树维护区间 k 次方和
c++·数学·算法·stl
卷无止境2 天前
Eigen 库如何借助 OpenMP 加速计算
c++·后端
唐青枫2 天前
MySQL JSON 实战详解:从存储、查询、更新到 JSON_TABLE 与索引
sql·mysql
吃糖的小孩3 天前
给 QQ AI 机器人设计“可控记忆”:会话摘要、手动长期记忆与角色卡边界
数据库