SQL 关键字汇总

1 JOIN

MySQL 中的 JOIN用于将多个表中的数据行基于它们之间的关联字段进行组合,是非常核心的查询操作。下面这个表格汇总了主要的 JOIN类型、关键区别和典型应用场景,方便你快速了解概览。

JOIN 类型 关键字 核心逻辑/返回结果 典型应用场景
内连接 INNER JOINJOIN 返回两个表中连接条件匹配的记录(即两表的交集)。 查找同时存在于两个表中的相关数据,如"有部门的员工及其部门信息"。
左外连接 LEFT JOINLEFT OUTER JOIN 返回左表 的全部记录,以及右表中连接条件匹配的记录。右表无匹配时,其字段以NULL填充。 以左表为主,查询其全部记录并关联右表信息,如"所有员工(包括未分配部门的)及其部门"。
右外连接 RIGHT JOINRIGHT OUTER JOIN 返回右表 的全部记录,以及左表中连接条件匹配的记录。左表无匹配时,其字段以NULL填充。 以右表为主,查询其全部记录并关联左表信息。可用LEFT JOIN替代以实现更好兼容性。
全外连接 FULL JOINFULL OUTER JOIN 返回左右两表的所有记录 。当一侧无匹配时,另一侧字段以NULL填充。MySQL不直接支持 ,但可用UNION模拟。 需要合并两个表的所有记录时(例如合并两份名单)。
交叉连接 CROSS JOIN 返回两表的笛卡尔积(即左表每一行与右表每一行进行组合)。 需要获取所有可能组合的情况,如生成测试数据或某种组合
相关推荐
李广坤17 小时前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区2 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1772 天前
《从零搭建NestJS项目》
数据库·typescript
加号33 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏3 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐3 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再3 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest3 天前
数据库SQL学习
数据库·sql
jnrjian3 天前
ORA-01017 查找机器名 用户名 以及library cache lock 参数含义
数据库·oracle
十月南城3 天前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark