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

MySQL——基础——外连接

一、外连接查询语法:(实际开发中,左外连接的使用频率要高于右外连接)

左外连接
SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件...;
相当于查询表1(左表)的所有数据 包含 表1和表2交集部分的数据
右外连接
SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件...;
相当于查询表2(右表)的所有数据 包含 表1和表2交集部分的数据

二、外连接演示
1.查询participators表中的所有数据,和对应的部门信息(左外连接):必须使用左外连接,因为participators表中的陈友谅没有dept_id
而左外连接会完全包含左表(participators)的数据,因此participators中的陈友谅也会被查出来

select p.*, d.name
from participators pleft outer join department d on p.dept_id = d.id;
select p.*, d.name
from participators pleft join department d on p.dept_id = d.id;

 

2.查询department表中的所有数据,和对应的员工信息(右外连接):右外连接完全包含右表的所有数据,而department表中的数据没有与陈友谅相关联的数据,因此陈友谅查不出来 

select d.*, p.*
from participators pright outer join department d on d.id = p.dept_id;
select d.*, p.*
from participators pright outer join department d on p.dept_id = d.id;

也可以使用左外连接实现右外连接的操作(左右都是相对的,只要把右外连接中的右变为左,右外连接中的左变为右,再进行左外连接就行了)

select d.*, p.*
from department dleft outer join participators p on d.id = p.dept_id;

 

http://www.lryc.cn/news/133367.html

相关文章:

  • spring boot 实现Redisson分布式锁及其读写锁
  • java-IONIO
  • Python学习笔记_基础篇(十一)_socket编程
  • C#8.0本质论第三章--更多数据类型
  • 浅拷贝与深拷贝
  • 背包 问题
  • 蓝牙资讯|安卓将加强耳机音量监控,耳机查找功能将更加普遍
  • vue,element。监听快捷键粘贴图片,添加到el-upload的列表。
  • 时序预测 | MATLAB实现基于CNN-BiLSTM卷积双向长短期记忆神经网络的时间序列预测-递归预测未来(多指标评价)
  • 编织梦想:SpringBoot AOP 教程与自定义日志切面完整实战
  • AssignableTypeFilter 和 AnnotationTypeFilter什么区别?
  • TCP-事件模型
  • typescript 声明文件
  • BC96 有序序列判断
  • QT操作excel的两种方式 QT基础入门【Excel的操作】
  • c++ qt--QString,弹出框(第二部分)
  • CSS自学框架之动画
  • RabbitMQ的5种消息队列
  • 【C语言】选择排序
  • 异步更新队列 - Vue2 响应式
  • 【Unity的URP渲染管线下实现扩展后处理Volume组件_TemporalAntiAliasing(TAA)_抗锯齿(附带下载链接)】
  • NineData通过AWS FTR认证,打造安全可靠的数据管理平台
  • Qt应用开发(基础篇)——滚屏区域类 QScrollArea
  • 安装最新版chromedriver 116,亲测可用
  • html题库
  • Android11 中 LED 使用-RK3568
  • BC77 有序序列插入一个数
  • 通过脚本使用Cppcheck做静态测试并生成报告(Windows)
  • 工业安全生产信息化平台的基本架构和关键功能分享
  • 每日一道面试题之session 和 cookie 有什么区别?