当前位置: 首页 > article >正文

(课堂笔记)Oracle 表关联:连接类型、数据发散、自关联、同环比计算

本文系统梳理了Oracle表关联的核心知识包括连接类型详细解析INNER JOIN(只返回匹配记录)、LEFT JOIN(保留左表全部)、RIGHT JOIN(保留右表全部)和FULL JOIN(保留两表全部)四种连接方式的特点和使用场景。数据发散问题说明一对多或多对多关系时可能产生的笛卡尔积现象以及如何通过正确设置连接条件避免数据膨胀。自关联技术演示如何使用表别名实现同一张表的自我连接典型应用于查询层级关系(如员工-领导关系)。实用计算提供同环比增长率的SQL实现方法展示如何通过表连接计算业务指标。优化建议给出连接查询的性能优化技巧和常见陷阱的规避方法包括NULL值处理、连接顺序选择等最佳实践。课堂笔记根据你提供的课堂笔记以下是对Oracle 表关联的详细总结与梳理涵盖连接类型、数据发散、自关联、同环比计算等核心内容。一、连接类型详解1. INNER JOIN内连接返回两表匹配的记录特点不匹配的数据不显示sqlSELECT * FROM 中国移动 M INNER JOIN 中国联通 N ON M.姓名 N.姓名; -- 结果只显示张三、李四两表都有的2. LEFT JOIN左连接返回左表全部 右表匹配部分特点左表数据不丢失右表无匹配则为 NULLsqlSELECT * FROM 中国移动 M LEFT JOIN 中国联通 N ON M.姓名 N.姓名; -- 结果张三、李四、王五王五在联通表无对应3. RIGHT JOIN右连接返回右表全部 左表匹配部分特点右表数据不丢失左表无匹配则为 NULLsqlSELECT * FROM 中国移动 M RIGHT JOIN 中国联通 N ON M.姓名 N.姓名; -- 结果张三、李四、熊大熊大在移动表无对应4. FULL JOIN全外连接返回两表全部数据特点双方数据都不丢失sqlSELECT * FROM 中国移动 M FULL JOIN 中国联通 N ON M.姓名 N.姓名; -- 结果张三、李四、王五、熊大全部保留✅ 全连接注意事项sql-- 正确写法使用 NVL 处理可能为 NULL 的字段 SELECT NVL(M.姓名, N.姓名) AS 姓名, -- 关键连接字段要用 NVL NVL(M.话费, 0) NVL(N.话费, 0) AS 总话费 FROM 中国移动 M FULL JOIN 中国联通 N ON M.姓名 N.姓名;二、数据发散笛卡尔积产生原因当连接条件满足一对多或多对多关系时会产生数据发散。典型示例sql-- 1. 无条件连接 笛卡尔积 SELECT * FROM EMP E CROSS JOIN DEPT D; -- 14行 × 4行 56行 -- 2. 等价写法 SELECT * FROM EMP E, DEPT D; -- 老式写法 SELECT * FROM EMP E LEFT JOIN DEPT D ON 11; -- 恒真条件 行数推算规则场景1基于ID范围A表ID 1~100100行B表ID 61~12060行交集61~10040行连接类型返回行数INNER JOIN40 行交集LEFT JOIN100 行左表全部RIGHT JOIN60 行右表全部FULL JOIN120 行并集场景2基于表记录数A表10行B表5行连接类型最多行数最少行数INNER JOIN50笛卡尔积0无匹配LEFT JOIN50笛卡尔积10无匹配RIGHT JOIN50笛卡尔积5无匹配FULL JOIN50笛卡尔积10无匹配口诀最少行数INNER可为0LEFT不少于左表RIGHT不少于右表FULL不少于大表最多行数都是笛卡尔积M × N三、自关联Self Join定义同一张表自己与自己连接需要使用不同的别名区分不同角色。典型场景上下级关系sql-- 示例员工及其领导信息 SELECT E.ENAME AS 员工姓名, E.SAL AS 员工薪资, F.ENAME AS 领导姓名, F.SAL AS 领导薪资 FROM EMP E -- 员工表角色员工 LEFT JOIN EMP F -- 领导表角色领导 ON E.MGR F.EMPNO; -- 员工的领导编号 领导的员工编号复杂示例带部门信息sqlSELECT E.ENAME AS 员工姓名, E.SAL AS 员工薪资, D.DNAME AS 员工部门, F.ENAME AS 领导姓名, F.SAL AS 领导薪资, K.DNAME AS 领导部门 FROM EMP E INNER JOIN DEPT D ON E.DEPTNO D.DEPTNO LEFT JOIN EMP F ON E.MGR F.EMPNO LEFT JOIN DEPT K ON F.DEPTNO K.DEPTNO;四、实际应用同环比计算场景计算每月环比增长率公式(本期 - 上期) / 上期 本期/上期 - 1sql-- 创建销售表 CREATE TABLE T_SALES( MONTH NUMBER, AMOUNT NUMBER ); INSERT INTO T_SALES VALUES (4,4432); INSERT INTO T_SALES VALUES (5,434); INSERT INTO T_SALES VALUES (6,232); INSERT INTO T_SALES VALUES (7,46554); INSERT INTO T_SALES VALUES (8,76); INSERT INTO T_SALES VALUES (9,454); COMMIT; -- 计算环比增长率 SELECT M.MONTH AS 月份, M.AMOUNT AS 本月销售额, N.AMOUNT AS 上月销售额, ROUND((M.AMOUNT / N.AMOUNT - 1) * 100, 2) || % AS 环比增长率 FROM T_SALES M -- 本月数据 LEFT JOIN T_SALES N ON M.MONTH - 1 N.MONTH; -- 上月数据扩展同比计算去年同期sql-- 假设有年份字段 LEFT JOIN T_SALES N ON M.YEAR - 1 N.YEAR AND M.MONTH N.MONTH五、重点总结✅ 连接类型选择指南需求推荐连接只要匹配的数据INNER JOIN左表数据全要LEFT JOIN右表数据全要RIGHT JOIN两表数据全要FULL JOIN避免数据发散确保连接条件能唯一匹配✅ 常见陷阱忘记处理 NULL全连接中使用NVL处理可能为 NULL 的字段数据发散连接前确认关联字段是否唯一自关联忘记别名必须用不同别名区分同一张表连接顺序影响性能小表驱动大表会更高效✅ 调试技巧sql-- 1. 先查两表的唯一性 SELECT 关联字段, COUNT(*) FROM 表名 GROUP BY 关联字段 HAVING COUNT(*) 1; -- 2. 用小数据集验证连接结果 SELECT * FROM 表名 WHERE ROWNUM 10; -- 3. 逐步添加连接条件 -- 先做单表查询确认数据正确再加 JOIN六、练习答案参考验证行数极值sql-- 1. INNER JOIN 无匹配最少0行 SELECT * FROM TABLEA A INNER JOIN TABLEB B ON 12; -- 0行 -- 2. LEFT JOIN 无匹配最少10行 SELECT * FROM TABLEA A LEFT JOIN TABLEB B ON 12; -- 10行A表全保留 -- 3. RIGHT JOIN 全匹配最多5×1050行 SELECT * FROM TABLEA A RIGHT JOIN TABLEB B ON 11; -- 50行 -- 4. FULL JOIN 基于ID返回并集 SELECT * FROM TABLEA A FULL JOIN TABLEB B ON A.ID B.ID; -- 10行1-5匹配6-10仅A有

相关文章:

(课堂笔记)Oracle 表关联:连接类型、数据发散、自关联、同环比计算

本文系统梳理了Oracle表关联的核心知识,包括:连接类型:详细解析INNER JOIN(只返回匹配记录)、LEFT JOIN(保留左表全部)、RIGHT JOIN(保留右表全部)和FULL JOIN(保留两表全部)四种连接方式的特点和使用场景。数据发散问题:说明一对…...

(课堂笔记)Oracle 常用函数:数值、字符串、日期处理

本文系统总结了Oracle常用函数,分为数值、字符串和日期处理三大类。数值函数包括ABS、POWER、ROUND等;字符串函数涵盖REPLACE、SUBSTR、INSTR等;日期函数包含LAST_DAY、ADD_MONTHS等。文中提供了典型示例和实用技巧,如统计字符出现…...

汉字转拼音工具,即输即转可多格式导出

软件介绍 这款叫 汉字转拼音 的工具,专门帮着把汉字快速转成拼音。它是绿色版,打开就能用,输入文本立马就能出拼音结果,简单又直接。 核心功能:绿色版即输即转 今天正好给大家带来这款汉字转拼音工具&#xff0c…...

为什么 99% 的定位系统都是错的?镜像视界(浙江)给出唯一答案核心定论

为什么 99% 的定位系统都是错的?镜像视界(浙江)给出唯一答案核心定论:99% 定位系统的底层错误,是依赖硬件标签、信号估算与图像猜测,无法进入真实三维空间;镜像视界(浙江&#xff09…...

OpenRGB终极指南:三步搞定所有RGB设备灯光同步,告别多软件烦恼!

OpenRGB终极指南:三步搞定所有RGB设备灯光同步,告别多软件烦恼! 【免费下载链接】OpenRGB Open source RGB lighting control that doesnt depend on manufacturer software. Supports Windows, Linux, MacOS. Mirror of https://gitlab.com/…...

FPGA实现中Vanilla与UniFormer注意力机制能效对比

1. FPGA实现中Vanilla与UniFormer注意力机制能效对比在边缘计算和实时AI推理场景中,能效比(Energy Efficiency)正成为比单纯算力更关键的指标。作为一名长期从事AI加速器开发的工程师,我最近在Xilinx Zynq UltraScale平台上完成了…...

UniFormer:跨平台优化的Transformer架构设计与实践

1. UniFormer架构设计背景与核心挑战Transformer架构近年来在自然语言处理和计算机视觉领域取得了革命性进展,但其计算复杂度与内存占用问题始终是实际部署中的主要瓶颈。传统Transformer中的自注意力机制具有O(N)的计算复杂度,当处理长序列时&#xff0…...

5个理由告诉你,为什么NBTExplorer是Minecraft数据编辑的终极解决方案

5个理由告诉你,为什么NBTExplorer是Minecraft数据编辑的终极解决方案 【免费下载链接】NBTExplorer A graphical NBT editor for all Minecraft NBT data sources 项目地址: https://gitcode.com/gh_mirrors/nb/NBTExplorer 你是否曾经面对Minecraft世界文件…...

Optuna与Scikit-learn超参数优化实战指南

1. 使用Optuna进行Scikit-learn超参数优化的完整指南在机器学习项目中,模型性能往往高度依赖于超参数的选择。传统的手动调参不仅耗时费力,而且难以找到最优组合。Optuna作为一个专为超参数优化设计的框架,通过智能搜索算法帮助我们自动化这一…...

npm实战指南:从基础配置到高效开发

1. npm基础配置:从零搭建开发环境 第一次接触npm时,我完全被满屏的依赖关系搞懵了。直到后来才发现,只要掌握几个核心命令,就能快速搭建起开发环境。现在我就把这些年总结的配置经验分享给你。 安装Node.js时会自动附带npm&#x…...

如何快速掌握AMD GPU上的AI模型训练:终极入门指南

如何快速掌握AMD GPU上的AI模型训练:终极入门指南 【免费下载链接】kohya_ss 项目地址: https://gitcode.com/GitHub_Trending/ko/kohya_ss 你是否渴望使用AMD显卡进行AI模型训练,却苦于找不到合适的工具?kohya_ss作为当前最热门的AI…...

从“能用”到“好用”,还有几道坎?——DeepSeek V4 遇上昇腾后的冷静追问

从“能用”到“好用”,还有几道坎?——DeepSeek V4 遇上昇腾后的冷静追问 2026年4月25日 | DeepSeek 华为昇腾 国产算力 产业观察前情提示:本文侧重于国产算力替代的商业化落地实证与冷静分析。对 DeepSeek V4 模型技术架构、昇腾适配细节…...

Sun-Panel:打造你的专属NAS门户,从零开始构建高效导航首页

1. 为什么你需要一个NAS导航首页? 每天打开电脑,第一件事就是面对浏览器里密密麻麻的书签栏——Jellyfin、Nextcloud、Bitwarden、Transmission...这些自建服务分散在不同的IP和端口上,记不住地址就得反复翻找记事本。更头疼的是,…...

智用开物完成近亿元天使+轮融资,多产品矩阵驱动工业场景AI应用落地

硬氪获悉,工业智能体及高价值应用公司智用开物完成近亿元天使轮融资,资金将用于建设“工业语义引擎”及研发制造业高价值岗位智能体。该公司已形成三大产品矩阵,成果获头部客户验证。融资情况 智用开物近日完成近亿元天使轮融资,由…...

C++编写MCP网关到底该选Boost.Asio还是Seastar?:3轮压测、5类协议场景、9项核心指标横向对比报告

更多请点击: https://intelliparadigm.com 第一章:C编写高吞吐量MCP网关对比评测报告 MCP(Microservice Communication Protocol)网关作为现代云原生架构中服务间通信的关键中间件,其性能直接决定系统整体吞吐能力与端…...

【国家智能制造专项组内部参考】MCP 2026工业适配黄金窗口期(2025.3–2026.6)倒计时:错过将无法接入2026新版工业互联网标识解析体系

更多请点击: https://intelliparadigm.com 第一章:MCP 2026工业适配的战略意义与政策边界 MCP(Manufacturing Control Protocol)2026 是面向新一代智能制造基础设施设计的轻量级实时通信协议,其核心目标是在边缘设备层…...

C++ MCP网关性能翻倍实录(Linux内核级调优+DPDK加速全链路拆解)

更多请点击: https://intelliparadigm.com 第一章:C MCP网关高吞吐量设计全景概览 C MCP(Message Control Protocol)网关是现代微服务架构中承载实时控制信令与状态同步的关键中间件,其设计核心在于突破传统阻塞式I/O…...

知识库上线后检索静默失效:一次从监控盲区到分层治理的RAG故障复盘

背景 / 现象 某电商客服知识库RAG系统上线两周后,运营反馈“很多常见问题答不上来”,但后台日志显示检索服务正常返回结果。进一步排查发现,用户高频问题如“退货流程”“优惠券使用”在知识库中存在对应文档,但模型始终无法正确引…...

告别生硬动画!用DoTween为你的Unity UI打造丝滑的交互反馈(附常见效果代码片段)

告别生硬动画!用DoTween为你的Unity UI打造丝滑的交互反馈 在移动应用和游戏界面中,流畅自然的动画效果往往能带来质的飞跃。想象一下,当用户点击按钮时,如果只是简单地切换状态,体验会显得生硬而缺乏生命力&#xff1…...

VSCode 2026车载调试爆发式升级:5大原生支持新特性(Adaptive AUTOSAR调试器、UDS over DoIP直连、时间敏感网络TSN时序可视化)你还没用?

更多请点击: https://intelliparadigm.com 第一章:VSCode 2026车载调试能力全景概览 VSCode 2026 版本深度整合了 AUTOSAR Adaptive 平台、ISO 26262 ASIL-B 级调试支持及车规级实时数据流可视化能力,成为首个原生支持 CAN FD、Ethernet AVB…...

​ ⛳️赠与读者[特殊字符]第一部分——内容介绍计及能量枢纽精细化建模的源荷储协调优化研究摘要针对综合能源系统中多能流耦合复杂、能量转换效率建模粗糙、优化求解精度不足等问题,提出一种计及

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

WeDLM-7B-Base实际效果:中文古文风格、现代白话、技术文档三体裁续写

WeDLM-7B-Base实际效果:中文古文风格、现代白话、技术文档三体裁续写 1. 模型概览 WeDLM-7B-Base是一款基于扩散机制(Diffusion)的高性能基座语言模型,拥有70亿参数规模。该模型在标准因果注意力机制基础上实现了并行掩码恢复技…...

哔哩哔哩概念版 4K画质 内置了会员模块「Android」

概念版是一个有新鲜好玩功能的概念版本,当我们有新功能的尝试或者我们在进行一些黑科技的探索时,将会优先在概念版本中进行发布。这一次发布概念版也有很多黑科技和新功能出现呢。当然啦,在概念版中的一些功能因为是尝试所以可能会有一些欠缺…...

C语言内存安全面试必考TOP 15题(2026最新真题库+逐行安全分析)

更多请点击: https://intelliparadigm.com 第一章:C语言内存安全面试全景概览 C语言因其直接操作内存的特性,在系统编程与嵌入式开发中不可替代,但也成为内存安全漏洞的高发区。面试官常通过内存管理类问题考察候选人对底层机制…...

科技史上的今天:4月24日

1970年:中国第一颗人造卫星“东方红一号”发射成功 1970年4月24日,中国在酒泉卫星发射中心成功发射了第一颗人造地球卫星“东方红一号”。这标志着中国成为继苏、美、法、日之后,世界上第五个独立研制并发射人造地球卫星的国家,正…...

如何5分钟配置TMSpeech:Windows本地语音识别完整教程

如何5分钟配置TMSpeech:Windows本地语音识别完整教程 【免费下载链接】TMSpeech 腾讯会议摸鱼工具 项目地址: https://gitcode.com/gh_mirrors/tm/TMSpeech 还在为会议记录烦恼吗?TMSpeech为您提供一款完全本地运行的Windows实时语音识别工具&…...

完全掌握Bebas Neue:从开源字体到专业设计实战应用

完全掌握Bebas Neue:从开源字体到专业设计实战应用 【免费下载链接】Bebas-Neue Bebas Neue font 项目地址: https://gitcode.com/gh_mirrors/be/Bebas-Neue 你是否曾为寻找一款既简洁有力又完全免费的开源标题字体而烦恼?当其他商业字体动辄数百…...

终极Windows更新修复指南:5分钟解决系统更新卡死问题

终极Windows更新修复指南:5分钟解决系统更新卡死问题 【免费下载链接】Reset-Windows-Update-Tool Troubleshooting Tool with Windows Updates (Developed in Dev-C). 项目地址: https://gitcode.com/gh_mirrors/re/Reset-Windows-Update-Tool 你是否曾经遇…...

B站视频离线观看神器:BilibiliDown跨平台下载工具全攻略

B站视频离线观看神器:BilibiliDown跨平台下载工具全攻略 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors…...

网页截图革命:如何用Full Page Screen Capture解决长页面截图的三大技术难题

网页截图革命:如何用Full Page Screen Capture解决长页面截图的三大技术难题 【免费下载链接】full-page-screen-capture-chrome-extension One-click full page screen captures in Google Chrome 项目地址: https://gitcode.com/gh_mirrors/fu/full-page-screen…...