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 JOIN说明 -> 正文阅读

[大数据]MySQL JOIN说明

一、前言

????????讲到SQL JOIN,大家一定多次见到过下面这张图片。这张图直观地展示了各种连接结果集的组成,但于我个人而言,来带来了诸多误解,主要是结果集数量方面。本篇博客也主要围绕这张图片来展开,谈谈我对SQL JOIN的梳理(主要是MySQL)。

?上图中,两集合的交集(中间部分)表示符合连接条件的数据,两边表示各自不符合连接条件的数据。

测试使用的表结构和数据如下:

class_info:班级信息表

students:学生表

二、关于JOIN

????????在学习数据库系统概论课程的时候,就有学到内连接、外连接、自然连接、等值连接等概念和分类,在开发过程中使用 left join、right join 等就是这些概念的实现。

2.1、自然连接

说明:不使用?JOIN ON?关键字,将任意两张(多张)表直接进行笛卡尔积输出。

结果集:两张(多张)表的笛卡尔积组合。

结果集数量:两张(多张)表的数量的乘积。

2.2、INNER JOIN

说明:筛选出符合连接条件的进行笛卡尔积。

结果集:两表交集。

结果集数量:两表符合连接条件的乘积?。

2.3、LEFT JOIN

说明:左表为主,右表为条件。先筛选出符合连接条件的进行笛卡尔积,然后保留左表中没有进行连接的数据。

结果集:左表集合。

结果集数量:两表符合连接条件的乘积?+ 左表没有进行连接的数量。

2.4、RIGHT JOIN

说明:右表为主,左表为条件。先筛选出符合连接条件的进行笛卡尔积,然后保留右表中没有进行连接的数据。

结果集:右表集合。

结果集数量:两表符合连接条件的乘积?+ 右表没有进行连接的数量。

2.5、FULL JOIN

说明:MySQL不支持FULL JOIN,不过可以通过UNION关键字来合并LEFT JOIN 与 RIGHT JOIN来模拟FULL JOIN的效果。

结果集:两张表的并集。

结果集数量:两表符合连接条件的乘积?+ 两表中各自没有进行连接的数量。

select * from students t1 full join class_info t2 on t1.class_id = t2.id
> 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'full join class_info t2 on t1.class_id = t2.id' at line 1
> 时间: 0s

三、参考文章

?【SQL】自然连接、内连接、左连接、右连接 - 知乎 (zhihu.com)

SQL 连接(JOIN) | 菜鸟教程 (runoob.com)

SQL 联接的可视化表示 - 代码项目 (codeproject.com)

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

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