数据信息:
员工表EMP

部门表DEPT

一、INNER JOIN(内连接)
作用:只返回两个表中完全匹配的行,相当于取交集。
场景:查询「有部门的员工信息」。
示例:
SELECT 员工.姓名, 部门.部门名称
FROM 员工
INNER JOIN 部门 ON 员工.部门ID = 部门.部门ID;
结果:

说明:只显示有匹配部门的员工,未分配部门的员工(如王五)和空部门(如财务部)都不会出现。
二、LEFT JOIN(左连接)
作用:返回左表(员工表)所有行,右表无匹配时用NULL填充。
场景:查询「所有员工信息,包括未分配部门的员工」。
SELECT 员工.姓名, 部门.部门名称
FROM 员工
LEFT JOIN 部门 ON 员工.部门ID = 部门.部门ID;
结果:

说明:王五没有部门,但仍显示在结果中。
三、RIGHT JOIN(右连接)
作用:返回右表(部门表)所有行,左表无匹配时用NULL填充。
场景:查询「所有部门信息,包括没有员工的部门」。
SELECT 员工.姓名, 部门.部门名称
FROM 员工
RIGHT JOIN 部门 ON 员工.部门ID = 部门.部门ID;
结果:

说明:财务部没有员工,但仍显示在结果中。
四、FULL JOIN(全连接)
作用:返回两个表所有行,无匹配部分用NULL填充。
场景:同时查看「所有员工和所有部门」。
SELECT 员工.姓名, 部门.部门名称
FROM 员工
FULL JOIN 部门 ON 员工.部门ID = 部门.部门ID;
结果:

五、CROSS JOIN(笛卡尔积)
作用:返回两表所有可能的组合,结果行数=左表行数×右表行数。
场景:生成所有「员工-部门组合」(如排班场景)。
SELECT 员工.姓名, 部门.部门名称
FROM 员工
CROSS JOIN 部门;
结果:



![[Dify] 如何应对明道云API数据过长带来的Token超限问题](https://i-blog.csdnimg.cn/direct/bc8af2b52f824fc8b23621e6504fc4be.png)





![[Godot][游戏开发] 如何在 Godot 中配置 Android 环境(适配新版 Android Studio)](https://i-blog.csdnimg.cn/direct/ce93c81563624b849c8d313b6f8033e0.png)










