Oracle 笛卡尔积 交叉连接详解教程
Oracle 笛卡尔积也就是 CROSS JOIN,中文也叫交叉连接,它是把两张或者多张表的每一行全部互相组合,生成的总行数等于第一张表行数乘以第二张表行数,比如 A 表有 10 行,B 表有 20 行,笛卡尔积结果就是 200 行,正常业务查询一般不希望出现笛卡尔积,绝大多数情况是写 SQL 的时候漏掉了表连接条件,属于错误写法,但是在部分特殊业务场景,会主动使用笛卡尔积做数据批量生成,这个就是它的合法用途,要区分误产生的笛卡尔积和主动编写的交叉连接。Oracle 里面笛卡尔积有两种写法,一种是旧式逗号多表查询,没有写 WHERE 关联条件,另一种是标准 SQL 写法 CROSS JOIN,两种效果完全一样,执行计划里面会显示 CARTESIAN,大表做笛卡尔积会产生巨量数据,消耗大量临时表空间,容易拖慢数据库甚至造成库性能卡顿,这也是开发写 SQL 最常见的性能坑。
第一步 笛卡尔积基础语法
掌握两种写法,理解两种写法等价。
清单
1 旧式写法,多表用逗号分隔,没有连接条件
SELECT FROM 表 A, 表 B;
2 标准 ANSI 写法,使用 CROSS JOIN 关键字
SELECT FROM 表 A CROSS JOIN 表 B;
3 多张表连续笛卡尔积,行数是所有表行数相乘
SELECT FROM 表 A CROSS JOIN 表 B CROSS JOIN 表 C;
第二步 简单示例演示
用员工表 emp 和部门表 dept 做演示,直观看到组合效果。
示例 SQL
SELECT emp.ename,dept.dname
FROM emp CROSS JOIN dept;
说明
emp 每一名员工,都会和 dept 每一个部门全部匹配一遍,员工和部门之间没有任何关联匹配逻辑,所有组合全部输出。
第三步 误产生笛卡尔积 常见原因
日常开发报错或者性能慢,大多是意外笛卡尔积。
操作清单
1 多表关联的时候,WHERE 子句遗漏连接条件,比如只写了过滤条件,缺少 a.id=b.id
2 连接条件写错,使用恒成立条件,比如 1=1,等同于没有关联
3 三表关联,只写了两张表的连接条件,第三张表没有写关联条件,第三张表依然会笛卡尔展开
4 表别名写错,关联字段没有正确绑定,优化器识别不到连接关系
排查方式
查看执行计划,执行计划里面出现 CARTESIAN 关键字,就代表发生笛卡尔积
EXPLAIN PLAN FOR 你的 SQL;
SELECT FROM TABLE (DBMS_XPLAN.DISPLAY);
第四步 主动使用笛卡尔积的业务场景
不是所有笛卡尔积都是错误,有专门用途。
清单
1 批量生成测试数据,生成全组合编码
2 生成日期序列,配合日历表做全月份全门店组合
3 报表补全维度,比如所有门店乘以所有月份,补齐缺失维度,方便后续 LEFT JOIN 填充空值
示例 门店表 cross join 月份表
SELECT store_id,month_no
FROM store CROSS JOIN month_dim;
第五步 如何避免错误笛卡尔积
编写多表 SQL 的规范要点。
操作清单
1 优先使用 ANSI JOIN 写法,INNER JOIN ON,把连接条件写在 ON 后面,不容易漏条件
2 多表关联,每新增一张表,都必须补充对应的 ON 关联条件
3 上线前检查执行计划,重点留意 CARTESIAN
4 大表禁止无限制笛卡尔积,必要的时候增加限制条件控制结果集大小
| 对比项 | 普通 INNER JOIN | 笛卡尔积 CROSS JOIN |
|---|---|---|
| 是否需要关联条件 | 需要 ON 匹配 | 不需要任何匹配条件 |
| 结果行数 | 满足匹配的数据 | 两表行数相乘 |
| 业务定位 | 正常关联查询 | 主动生成全组合,或者漏条件 bug |
| 性能风险 | 可控 | 大表极易性能爆炸 |
学习 Oracle 笛卡尔积核心就是记住它是全排列组合,正常业务关联一定要补充连接条件,一旦执行计划出现 CARTESIAN,优先检查是不是遗漏关联条件,如果是主动生成维度组合,才是合法使用笛卡尔积。
【常见问题】
问题 1 Oracle 笛卡尔积为什么会导致 SQL 特别慢
回答 1 Oracle 笛卡尔积会把两张表所有行全部组合,结果行数是两张表行数相乘,大表会生成百万甚至千万级临时数据,占用大量临时表空间,所以 Oracle 笛卡尔积会造成 SQL 执行缓慢,需要检查是否遗漏表连接条件。
问题 2 Oracle 笛卡尔积和 INNER JOIN 有什么区别
回答 1 Oracle 笛卡尔积不需要关联匹配条件,所有行互相组合,INNER JOIN 必须依靠 ON 条件匹配,只输出满足匹配关系的数据,Oracle 笛卡尔积属于全排列,INNER JOIN 是筛选匹配数据,二者逻辑完全不同。
问题 3 三表查询一定会产生 Oracle 笛卡尔积吗
回答 1 不是,三表查询只要每一张表都写好对应的连接条件,就不会产生 Oracle 笛卡尔积,只有其中一张表缺失关联条件的时候,才会触发 Oracle 笛卡尔积展开。
【免责申明】
本文 Oracle 笛卡尔积教程为 SQL 基础知识科普,大表执行笛卡尔积会占用数据库资源,生产环境执行请提前评估数据量,本文不对生产库执行不当 SQL 造成性能故障承担责任。
相关阅读
-
体育里面常说的身体素质,核心是六大项:力量、速度、耐力、灵敏、柔韧、平衡,这也是体测、健身、运动训练最...浏览全文>>
-
海外短视频平台正在蔓延名叫 heightmaxxing 的畸形风潮,不少美国少年网购抗癌靶向药厄达替尼(Erdafitinib...浏览全文>>
-
当地时间 11 月 9 日,特朗普在白宫记者会上第二次公开谈及英伟达 CEO 黄仁勋承认婚外情一事,表态相比...浏览全文>>
-
Diamond Foundry 在 CarbonSemi 2026 大会发布全球首个 200 mm 单晶金刚石晶圆,依靠 CVD 培育单晶钻石的超高导热特性,用来解决 浏览全文>>
-
英伟达空间智能实验室推出的 Lyra 2 0 已经开源,这款 AI 框架只需要一张照片作为输入,就能生成跨度 9...浏览全文>>
-
黄仁勋在当地时间 11 月 8 日主动发内部信承认婚外情,风波快速扩散之后特朗普、马斯克先后公开发声,二人...浏览全文>>
-
2026 年 11 月 6 日 18:30,一颗火流星划过华北上空,最终坠落在石家庄鹿泉区大河镇,核心散落区在北故...浏览全文>>
-
这款雅鹿机能工装休闲裤主打秋冬保暖,采用加绒加厚面料、加宽裆部剪裁,版型是小三角工装裤样式,售价 39 9...浏览全文>>
-
华为正式官宣旗下首款小折叠形态鸿蒙电脑 MateBook Fold S,定于 11 月 14 日上午 10:08 在华为商城...浏览全文>>
-
失事飞机黑匣子已经被现场搜寻人员找到,黑匣子是航空事故调查最核心的物证,找到之后会由专业人员妥善封装保...浏览全文>>
- 英伟达 Lyra 2.0 开源发布 单张照片生成 90 米可漫游 3D 世界、生成速度提升 13 倍
- 一年砍掉三款车型,马斯克称特斯拉缺少足够人才同步开发多款车
- 如何腌茄子咸菜好吃 脆爽入味不发黑
- 日本东京有什么小吃 东京经典街头小吃详解
- 秋季美食及做法大全 应季家常合集
- 清炖小黄鱼汤的做法 鲜醇清淡无腥奶白
- 除英伟达外美股科技巨头集体狂飙,AMD 单日暴涨 13.26% 领涨芯片板块
- 手工达人自制《影之刃零》妖锯,低成本复刻玉妖高跟鞋双剑
- 史上最严欧 7 排放法规将于本月生效,首次纳入刹车粉尘、轮胎磨损管控
- 新加坡超大规模数据中心企业 DayOne 赴美 IPO,计划募资 50 亿美元、目标估值 200 亿美元
- 特朗普在白宫记者会再谈黄仁勋婚外情,评价其高素质、正承受巨大痛苦
- 谷歌推出 TPU 8tx、TPU 8i Max 两款专用 TPU,正面竞争英伟达,8tx 可搭配 AMD EPYC 协同工作
- 陕西有名小吃 经典品类汇总
- 魏牌二代蓝山开启预售,30 万级智慧豪华方盒子 SUV 主打城野无界
- 监测显示印度德里空气污染一度全球第一,居民出现呼吸困难、眼痛情况事件说明
- 华硕 ProArt 创 14 RTX Spark,1.48kg 轻薄本最高给到 128GB 统一内存,本地搭载 AI 超算
- Paseo 实现脱离终端托管编码 Agent,合上电脑屏幕,后台 Agent 任务持续运行
- 公安部 5 项交管新措施落地,进口小客车可网上上牌,12 月 1 日全国推行
- 谷歌扩充第八代 TPU,推出 TPU 8tx、TPU 8i Max,瞄准机密计算与多智能体算力扩容
- Anthropic 冲刺纳斯达克 IPO,目标 11 月 19 日挂牌,估值预期下调至 1 万亿–1.3 万亿美元
- 身体素质有哪些方面 基础体能六大素质
- 海外流行 heightmaxxing 歪风,美国少年私自服用抗癌药厄达替尼强行增高,流鼻血、指甲脱落也不停
- 全球首枚 200 mm 单晶钻石晶圆亮相,依靠超高导热为高热 AI 芯片降温
- 黄仁勋出轨风波发酵、特朗普马斯克接连发声事件梳理
- Oracle 笛卡尔积 交叉连接详解教程
- oppo 怎么恢复闪充 闪充失效修复详解
- oppor9 录像功能在哪 相机录像切换教程
- 双 11 也难拉动电视市场,10 月出货 284 万台同比下滑 12.2%
- Type-C 已经快速普及,墙上的市电插座却很难全球统一
- 美的联合海思、中国移动推出 AI 学伴灯,支持指尖点触查词
- oppor9plus 怎么改锁屏 锁屏样式与密码修改教程
- 黄仁勋风波之后,马斯克等人也进入国会调查视野
- iOS 27.2.1 正式版推送,iPhone 用户建议升级,版本修复 9 大安全漏洞
- 黄仁勋承认对妻子不忠,英伟达市值盘中一度蒸发近 3 万亿
- 四年海外车主大增三十多倍,比亚迪上调海外全年销量预期至 180 万辆
- Meta Muse Ember 登顶 Vals Index 成本最低模型,单次测试仅 0.15 美元
- 谷歌年内推出四款第八代 TPU 系统,TPU 8i Max、TPU 8tx 正式亮相
- Muse 发布迄今最小模型 Muse Ember,售价相比前代低 17 倍
- 迪士尼携手 Adobe 定制 AI 模型,落地主题公园与影视业务
- 南京咸水鸭正宗做法 金陵盐水鸭传统工艺
