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 返回两表的笛卡尔积(即左表每一行与右表每一行进行组合)。 需要获取所有可能组合的情况,如生成测试数据或某种组合
相关推荐
SelectDB技术团队16 小时前
驾驭 CPU 与编译器:Apache Doris 实现极致性能的底层逻辑
数据库·数据仓库·人工智能·sql·apache
万邦科技Lafite16 小时前
阿里巴巴商品详情API返回值:电商精准营销的关键
大数据·数据库·人工智能·电商开放平台
tc&17 小时前
为什么 Kamailio 模块封装的 MySQL 函数能有效防范 SQL 注入?
数据库·sql·mysql·网络攻击模型·kamailio
cookqq17 小时前
Java+MySQL时区难题-Date自动转换String差8小时
数据库·mysql
sugarzhangnotes17 小时前
MySQL 8.0升级中的字符集陷阱与解决方案
android·数据库·mysql
BD_Marathon17 小时前
MyBatis核心配置文件之mappers
java·数据库·mybatis
float_六七17 小时前
数据库管理系统(DBMS) 的核心组成部分
数据库·oracle
科技块儿17 小时前
内网系统IP离线数据库搭建与维护完整方案
数据库·网络协议·tcp/ip
小徐不徐说17 小时前
避坑指南:Qt 中 Lambda 表达式崩溃原因与高效使用实践
数据库·c++·qt·面试
chirrupy_hamal17 小时前
WAL 记录的内容变种
数据库·postgresql