sql语句中的 inner join 、 left join 、 right join、 full join 的区别
简单明了地说,连接分内连接和外链接
假设有A和B两张表
内连接:inner join 表示把AB表的记录相符都显示出来,把AB表不符合条件的都排除
外连接分三种,即左连接(LEFT OUTER JOIN)、右连接(RIGHT OUTER JOIN)、全连接(FULL OUTER JOIN),下面就简单解析一下,。1.A LEFT OUTER JOIN B表示把A表的记录都显示出来,把B表符合条件的结果集显示出来,不符合条件的用NULL表示。2.A RIGHT OUTER JOIN B表示把B表的记录都显示出来,把A表符合条件的结果集显示出来,不符合条件的用NULL表示。3.A FULL OUTER JOIN B 表示把A表和B表的记录都显示出来,不符合条件的用NULL表示。
实例:
[TEST@ORA1] SQL>select * from a;
编号 姓名
---- ----------
1000 张三
2000 李四
3000 王五
[TEST@ORA1] SQL>select * from b;
编号 商品
---- ----------
1000 电视机
2000 录像机
4000 自行车
[TEST@ORA1] SQL>set null 空值--这里为了显示方面我把NULL定义成了[空值]
[TEST@ORA1] SQL>select a.*,b.* from a inner join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000 张三 1000 电视机
2000 李四 2000 录像机
[TEST@ORA1] SQL>select a.*,b.* from a left join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000 张三 1000 电视机
2000 李四 2000 录像机
3000 王五 空值 空值
[TEST@ORA1] SQL>select a.*,b.* from a right join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000 张三 1000 电视机
2000 李四 2000 录像机
空值 空值 4000 自行车
[TEST@ORA1] SQL>select a.*,b.* from a full join b on a.编号=b.编号;
编号 姓名 编号 商品
---- ---------- ---- ----------
1000 张三 1000 电视机
2000 李四 2000 录像机
3000 王五 空值 空值
空值 空值 4000 自行车
---
。
sql语句中的 inner join 、 left join 、 right join、 full join 的区别相关推荐
- SQL语句中‘相关子查询’与‘非相关子查询’有什么区别?
(1)非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询. (2)相关子查询的执行依赖于外部查询的数据,外部查询执行一行,子查询就执行一次. 因此非相关子查询比相关 ...
- sql语句中left join和inner join中的on与where的区别分析
原文:sql语句中left join和inner join中的on与where的区别分析 关于SQL SERVER的表联接查询INNER JOIN .LEFT JOIN和RIGHT JOIN,经常会用 ...
- LeetCode-175. 组合两个表(SQL语句中的LEFT JOIN)
题目链接: 组合两个表 题目描述: 表1: Person +-------------+---------+ | 列名 | 类型 | +-------------+---------+ | Perso ...
- SQL语句中JOIN的用法
记录:257 写SQL最高境界:SELECT * FROM 表名.当然这是一句自嘲.探究一下SQL语句中JOIN的用法,直到经历这个场景,变得想验证一下究竟. 一.场景 把关系型数据库A中表TEST_ ...
- oracle 哦【的【,清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦 直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问 ...
- SQL语句中的select高级用法
#转载请联系 为了更好的了解下面的知识点,我们先创建两张表并插入数据. # 学生表 +----+-----------+------+--------+--------+--------+------ ...
- mysql与orancl_清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦
清晰讲解SQL语句中的外连接,通用于Mysql和Oracle,全是干货哦 直入主题: 我们做一个操作,将员工SCOTT的部门去掉,再次通过内连接查看数据,看看会产生什么现象? 使用内连接,查询数据 问 ...
- UNION,EXISTS,IN等在SQL语句中的灵活应用和场境的选择。
今天在QQ群里,有朋友问我这样的一个SQL Server中查询数据的问题, 表 A: num unit 001 a 002 b 003 c 表 B ...
- sql语句中使用函数会耗费性能吗_挽救数据库性能的 30 条黄金法则 | 原力计划...
作者 | geekguy 责编 | 王晓曼 出品 | CSDN博客 1. 优化查询,应尽量避免全表扫描,应该在用于检索数据和排序数据的字段上建立索引,如where子句用于搜索,order by子句用于 ...
- python解析sql语句表名_python正则表达式匹配sql语句中的表名
[ string text = "select * from [admin] where aa=1 and cc='b' order by aa desc "; Regex reg ...
最新文章
- HarmonyOS UI开发 match_parent与match_content
- build.xml java打包_配置pom.xml用maven打包java工程的方法(推荐)
- 职业发展:从基层到高层的“突破规律”
- CQRS架构下Equinox开源项目分析
- Java 9 中的 GC 调优基础
- 公有云 私有云 混合云_混合云的承诺,收益和产品
- vue写js代码_vue.js弹出式音乐播放器特效代码
- 揭示Win32 API拦截细节/API hooking revealed (2)
- 花椒前端基于 WebAssembly 的 H.265 播放器研发
- zen3 服务器芯片,7nm+工艺Zen3两线出击:EPYC服务器先发 锐龙5000紧跟
- 傲腾内存不支持linux吗,内存英特尔® 傲腾™常见问题
- Visio模具与模版
- 办公必备:4个在线文档格式转换网站
- 装修以后很快后悔的80件事
- 离散型最值的期望计算
- Pulmonary--Detection2
- HbuilderX 热更新报wgt/wgtu文件异常处理记录
- 万年历 java程序_用Java编程输出万年历的功能实现
- 上海大学数字媒体创意工程875多媒体技术经验分享
- 数学建模(九)决策论建模
热门文章
- 快速理解VirtualBox的四种网络连接方式
- 修改openssh源代码,添加操作记录审记功能
- F2etest+UIRecorder(录制脚本)【2】
- macOS完全卸载Android Studio方法
- 使用python编写单元测试
- c语言求n(n从1到10),关于C语言的一道题
- sd卡测速工具_用4张卡聊一聊SD卡规范
- 手写logback_springboot logback调整mybatis日志级别无效的解决
- python测验2_python接口测试(二)
- oracle中treat函数,Oracle 函数概览