[转帖]LEFT JOIN(左连接)、RIGHT JOIN(右连接)、FULL JOIN(全连接)、INNER JOIN(内连接)、CROSS JOIN(笛卡尔积)详解

left,join,连接,right,full,inner,cross,笛卡尔,详解 · 浏览次数 : 0

小编点评

**左 outer join、right outer join 和 full outer join 的区别** | 方式 | 返回数据 | |---|---| | Left outer join | 左表的所有行数据,右表中返回匹配的数据 | | Right outer join | 右表的所有行数据,左表中返回匹配的数据 | | Full outer join | 左表和右表中所有行数据 | | Inner join | 左表和右表相匹配的数据 | | Cross join | 显示a*b的数据集 |

正文

 

标签: Mysql

 
left outer join 和left join表达的是同一个意思,left join可看作是left outer join的简写;
同理right outer join 、full outer join也是一样的。
  • 1
  • 2

(1)left join(左连接)
在两张表进行连接查询时,会返回左表所有的行数据,右表中返回只返回和左表匹配的数据,没有的显示为Null。
在这里插入图片描述

(2)right join(右连接)
在两张表进行连接查询时,会返回右表所有的行数据,左表中返回只返回和右表匹配的数据,没有的显示为Null。

(3)full join(全连接)
在两张表进行连接查询时,返回左表和右表中所有行数据(包括左表和右表匹配的数据、未匹配的数据,相互未匹配的数据显示为Null)。
在这里插入图片描述
(4)inner join(内连接)
在两张表进行连接查询时,只显示左表和右表相匹配的数据。
在这里插入图片描述

(5)cross join(笛卡尔积)
select * from a cross join b 显示a*b的数据集

单纯的select * from a,b也是笛卡尔乘积。比如a表有10条数据,b表有20条数据,那么最后的结果有10*20=200条数据。

但是如果对两个表进行关联:select * from a,b where a.id = b.id 意思就变了,此时就等价于:

select * from a inner join b on a.id = b.id即就是内连接。

在这里插入图片描述

参考:https://www.cnblogs.com/ThinkVenus/p/10095543.html

与[转帖]LEFT JOIN(左连接)、RIGHT JOIN(右连接)、FULL JOIN(全连接)、INNER JOIN(内连接)、CROSS JOIN(笛卡尔积)详解相似的内容:

[转帖]LEFT JOIN(左连接)、RIGHT JOIN(右连接)、FULL JOIN(全连接)、INNER JOIN(内连接)、CROSS JOIN(笛卡尔积)详解

标签: Mysql left outer join 和left join表达的是同一个意思,left join可看作是left outer join的简写; 同理right outer join 、full outer join也是一样的。 1 2 (1)left join(左连接)在两张表进行连接

[转帖]一张图看懂 SQL 的各种 join 用法

https://cloud.tencent.com/developer/article/1954012?areaSource=104001.79&traceId=7WZNP412yK3vh7ebw4th0 发布于2022-03-10 13:54:43阅读 870 下图展示了 LEFT JOIN、RI

[转帖]PostgreSQL 统计所有数据表各自的总行数

一般来说,可以使用 count(*) 来获取具体某张表的总行数: SELECT count(0) FROM t_user; 如果想获得所有表的行数信息,可以使用以下 SQL 语句: SELECT relname, reltuplesFROM pg_class CLS LEFT JOIN pg_nam

【转帖】【性能提升神器】STRAIGHT_JOIN

今天给大家下另一个性能提升神器-STRAIGHT_JOIN,在数据量大的联表查询中灵活运用的话,能大大缩短查询时间。 首先来解释下STRAIGHT_JOIN到底是用做什么的: STRAIGHT_JOIN is similar to JOIN, except that the left table i

[转帖]从《Why I Left Facebook》扯到蘇東坡《卜算子》

https://blog.mygraphql.com/zh/notes/wu/career/jerks/why-i-left-facebook/ 前段时间,由于要研究一个 TCP 接收缓冲区大小配置的问题,搜索到了一编 Blog: A TCP Timeout Investigation。 感觉 Bl

[转帖]little-endian and big-endian

https://www.cnblogs.com/jenneyblog/archive/2010/06/29/1767330.html Some computer architectures number bytes in a binary word from left to right, which

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww