IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> DQL之外连接查询 -> 正文阅读

[大数据]DQL之外连接查询

前言

学习MySQL过程中对连接查询里的外连接查询理解起来比较模糊,故而以此博客总结一下学习心得以便加深印象!与诸君共勉!

一、外连接

外连接查询是以指定表为连接主体,将主体表中不满足连接条件的元组一并输出。接下来分别介绍外连接中的各类:左外连接、右外连接。

1、左外连接

左外连接是指将左表中的所有数据分别与右表中的每条数据进行连接组合,返回的结果除内连接的数据外,还包括左表中不符合条件的数据,并在右表的相应位置列中添加NULL值。

案例:查询哪个部门没有员工?

 SELECT d.*,e.employee_id
 FROM departments d
 LEFT OUTER JOIN employees e
 ON d.`department_id` = e.`department_id`
 WHERE e.`employee_id` IS NULL;;

运行部分结果如下:

?解析:要查询那个部门没有员工,首先连接departemts表和employees表,连接条件为departments表中的部门号与employees表中的部门号相同时的信息,同时通过查询的员工号来确定没有员工的部门,如结果所示所有employee_id为null值的信息即为题中所求。

2、右外连接

右外连接是指将右表中的所有数据分别与左表中的每条数据进行连接组合,返回的结果除内连接的数据外,还包括右表中不符合条件的数据,并在左表的相应位置列中添加NULL值。

案例:依旧可以使用左外连接的案例 查询哪个部门没有员工?

当我们调换一下左表与右表的位置是可以使右外连接和左外连接的结果相同。

#右外连接
 SELECT d.*,e.employee_id
 FROM employees e
 RIGHT OUTER JOIN departments d
 ON d.`department_id` = e.`department_id`
 WHERE e.`employee_id` IS NULL;

解析:左外和右外交换两个表的顺序,可以实现同样的效果?

3、外连接总结

应用场景:用于查询一个表中有,另一个表没有的记录

特点:?1、外连接的查询结果为主表中的所有记录
? ? ? ? ? ? ? ? ? ? ? ?如果从表中有和它匹配的,则显示匹配的值
? ? ? ? ? ? ? ? ? ? ? ?如果从表中没有和它匹配的,则显示null
? ? ? ? ? ? ? ? ? ? ? ?外连接查询结果=内连接结果+主表中有而从表没有的记录
?2、左外连接,left join左边的是主表
? ? ? ? ? 右外连接,right join右边的是主表
?3、左外和右外交换两个表的顺序,可以实现同样的效果?

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章           查看所有文章
加:2021-12-03 13:06:19  更:2021-12-03 13:08:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:10:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码