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 返回两表的笛卡尔积(即左表每一行与右表每一行进行组合)。 需要获取所有可能组合的情况,如生成测试数据或某种组合
相关推荐
这个DBA有点耶11 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶13 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技14 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend14 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence18 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
先吃饱再说1 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils1 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端
Databend2 天前
Agent 轨迹分析与归因的数据工程实践
大数据·数据库·agent
这个DBA有点耶2 天前
SQL改写进阶:标量子查询的“隐形代价”与消除实战
数据库·mysql·架构
smallyoung2 天前
数据库乐观锁深度解析:MySQL、PostgreSQL 实战 + Spring Boot 集成指南
数据库·mysql·postgresql