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 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MySQL--外连接查询 -> 正文阅读

[大数据]MySQL--外连接查询

外连接查询

特点:查询结果至少是一个表的所有记录

语法:select f1,f2,f3,....
        from table1 left/right outer join table2
        on 条件;

(1)左外连接

from table1 left outer join table2

驱动表 table1
匹配表 table2

查询结果是table1驱动表的所有记录

回顾:查询每个员工的姓名,职位和领导的姓名
使用内连接(自连接)的连接方式
分析:
表 t_employee e 员工表
t_employee m 领导表
关联条件 员工表.领导编号=领导表.员工编号
e.MGR=m.empno

select e.ename,e.job,m.ename
from t_employee e inner join t_employee m
on e.MGR=m.empno;

查询结果是13条数据,少了一条king的数据,king没有
上级领导,所以king这条数据没有显出出来。

内连接查询的特点:符合条件查询出来,不符合条件过滤掉。

使用左外连接查询

分析:
驱动表 t_employee e 员工表
匹配表 t_employee m 领导表
关联条件 e.MGR=m.empno

select e.ename,e.job,m.ename
from t_employee e left outer join t_employee m 
on e.MGR=m.empno;

查询结果为14条数据,t_employee e员工表为驱动表,
查询结果显示驱动表中所有的数据。

t_employee员工表插入一条在50部门的员工信息。
在t_dept表中只有10,20,30,40部门,没有50部门。

 insert into t_employee values(7999,'xiaohong','clerk',7782,19811016,5200,null,50);

说明:
t_employee 员工表
15条数据,员工分别在10,20,30,50部门
t_dept 部门表
4条数据,有10,20,30,40部门
例子:查询每个员工的编号、姓名、职位、部门名称和位置

方式1:使用内连接查询的方式

分析:表 t_employee e 员工表
t_dept d 部门表
关联关系 员工表的部门编号=部门表的部门编号
e.deptno=d.deptno

select e.empno,e.ename,e.job,d.dname,d.loc
from t_employee e inner join t_dept d
on  e.deptno=d.deptno;

在这里插入图片描述

查询结果是14条数据,内连接查询的特点是符合条件的
会查询出结果,不符合条件的会过滤掉。

xiaohong是50部门,在部门表中未匹配到50部门,过滤掉
operations是40部门,未匹配到有员工在40部门,过滤掉

方式2:使用左外连接查询的方式

分析:驱动表 t_employee e 员工表
匹配表 t_dept d 部门表
关联关系 e.deptno=d.deptno
查询的结果是驱动表中的所有数据

select e.empno,e.ename,e.job,d.dname,d.loc
from  t_employee e left outer join t_dept d
on e.deptno=d.deptno;

在这里插入图片描述

查询结果是15条数据,查询结果是驱动表t_employee表中的全部数据,外连接查询的特点是符合关联条件的正常显示数据,如果不符合关联条件,查询不到数据,会使用null代替。

(2)右外连接

  from table1 right outer join table2

驱动表 table2
匹配表 table1

查询结果是table2驱动表的所有记录

使用右外连接的方式

分析:
驱动表 t_dept d 部门表
匹配表 t_employee e 员工表
关联关系 d.deptno=e.deptno

select e.empno,e.ename,d.deptno,d.dname,d.loc
from t_employee e right outer join t_dept d
on e.deptno=d.deptno;

在这里插入图片描述

显示结果是15条数据,显示的结果是部门表的全部数据,部门表是4条数据,显示结果是15条,因为有的部门匹配到了多名员工的数据。

10部门20部门30部门都匹配到了多名员工的信息,40部门没有匹配到员工的信息,用null代替。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-10-17 12:03:34  更:2021-10-17 12:05:23 
 
开发: 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 2:32:40-

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