内连接、左外连接、右外连接、全外连接区别

简介: 内连接、左外连接、右外连接、全外连接区别




(1)内连接查询:获取两表的公共部分的记录(图中间),即记录集C。


Select * from A JOIN B ON A.Aid=B.Bnameid


等同于Select * from A,B where A.Aid=B.Bnameid



(结果注意有重复的数据)


(2)左外连接查询:A左连接B的记录(图左边+中间),获取表A记录集+公共部分记录集C的记录,其余返回空值。


Select * from A Left JOIN B ON A.Aid=B.Bnameid




(3)右外连接查询:A右连接B的记录(图右边+中间),获取表B记录集+公共部分记录集C的记录。


Select * from A Right JOIN B ON A.Aid=B.Bnameid




(4)全外连接查询:获取A和B的所有记录集,除了公共部分记录集C对应A和B均有数据外,其余要么A返回空值,要么B返回空值。


换个例子说明:



相关文章
|
存储 分布式计算 运维
【2023云栖】刘一鸣:Data+AI时代大数据平台建设的思考与发布
本文根据2023云栖大会演讲实录整理而成,演讲信息如下: 演讲人:刘一鸣 | 阿里云自研大数据产品负责人 演讲主题:Data+AI时代大数据平台应该如何建设
102673 16
|
11月前
|
数据可视化 Android开发 开发者
安卓应用开发中的自定义View组件
【10月更文挑战第5天】在安卓应用开发中,自定义View组件是提升用户交互体验的利器。本篇将深入探讨如何从零开始创建自定义View,包括设计理念、实现步骤以及性能优化技巧,帮助开发者打造流畅且富有创意的用户界面。
304 0
|
11月前
|
缓存 测试技术 Apache
告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
【10月更文挑战第1天】告别卡顿!Python性能测试实战教程,JMeter&Locust带你秒懂性能优化💡
267 4
|
人工智能 搜索推荐 数据可视化
鸿蒙应用实践:利用扣子API开发起床文案生成器
本文将使用扣子(coze)智能体API开发一个起床文案生成器,用于自己的鸿蒙应用中生成”千人千面“的起床文案。
465 0
转载 - gcc/ld 动态连接库和静态连接库使用方法
本文介绍了如何在GCC中实现部分程序静态链接、部分动态链接。使用`-Wl`标志传递链接器参数,`-Bstatic`强制链接静态库,`-Bdynamic`强制链接动态库。
|
Web App开发 缓存 网络协议
get和post的区别!
get和post的区别!
|
网络协议 算法 网络虚拟化
【计算机网络】数据链路层(超多图详析)
之前学习了原理体系结构中的物理层,也写了非常详细文章。如果没有看可以先去学习一下,这样有助于我们对数据链路层的学习。
【计算机网络】数据链路层(超多图详析)
|
SQL 存储 算法
MySQL并行复制
一、MySQL的主从复制 1.1 主从复制基本原理   MySQL的主从架构依赖于MySQL Binlog功能,Master节点上产生Binlog并且写入到文件中。  Master节点上启动一个DUMP线程:当Slave节点I/O线程连接Master时,Master创建这个线程,DUMP线程负责从Master的binlog文件读取记录,然后发送给Slave。
1320 0
|
机器学习/深度学习 人工智能 编解码
PAI-Diffusion 模型来了!阿里云机器学习团队带您徜徉中文艺术海洋
PAI-Diffusion系列模型,包括一系列通用场景和特定场景的文图生成模型,本⽂简要介绍PAI-Diffusion模型及其体验方式。
|
Shell Linux Go
听说你还在自己做重复劳动?看我一键生成错误码映射
大家在工作中定义错误码的时候都是如何处理的? xdm 可以评论区交流交流 我看到过有的是这样定义错误码的
171 0