SQL中左连接和右连接的理解误区

article/2025/6/14 13:52:39

SQL中左连接和右连接的理解误区:

1.左右外连接中,怎么区分哪个表当左表,哪个表当右表?

2.什么时候用左连接,什么时候用右连接?

首先,重新捋一遍二者概念:

左连接的语法:select 列名 from 左表 left join 右表 on 表连接的条件

左连接的作用:在内连接的基础上,保证左表中所有的数据都出现,如果没有匹配的右表数据,使用
NULL填充。

右连接的语法:select 列名 from 左表 right join 右表 on 表连接的条件

右连接的作用:在内连接的基础上,保证右表中所有的数据都出现,如果没有匹配的左表数据,使
用NULL填充。


理解误区一:左右外连接中,怎么区分哪个表当左表,哪个表当右表?

解答:

​ 左表和右表是相对于 “ left join " 和 “right join” 而言的, “ left join "的左边就是左表,右边就是右表。左连接可以理解为:在内连接的基础上,保证 “ left join "左边的表(左表)的数据全部显示。同理,右连接可以理解为:在内连接的基础上,保证 “ right join "右边的表(右表)的数据全部显示。


理解误区二:什么时候用左连接,什么时候用右连接?

解答:

​ 虽然左连接和右连接在使用语法上有区别,但是他们可以达到同样的连接表的效果,只是表内列的位置不同。举个栗子:

​ (有A,B两张表,现要分别用左右连接两种方式将其连接,并保证A表中的数据全部显示)

​ 左连接: A left join B on… ----> 连接后表为 :AB(A表中的数据全部显示)

​ 右连接:B right join A on… —>连接后的表为:BA(A表中的数据全部显示)

​ 因此,左右连接都可以达到连接表的目的,两种方式任君选择。个人建议主要需求在哪个表格就将哪个表格写在左边(因为在关键字左边的表格连接后也会出现在表的左边),再结合情况选择具体用left还是right。比如下面的部门表和员工表,我的侧重点在部门,所以把部门放在左边,然后我要显示部门的所有数据,所以用left,这样连接起来的表格比较一目了然。

在这里插入图片描述
在这里插入图片描述

左连接:select*from dept d left join emp e on d.id = e.dept_id group by d.id;
在这里插入图片描述

右连接:select*from emp e right join dept d on e.dept_id = d.id group by d.id;

在这里插入图片描述


http://chatgpt.dhexx.cn/article/rKaeLvbf.shtml

相关文章

SQL语句什么是左连接、右连接、内连接?

1、左连接 以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。 左表(table1)全部保留,右表(table2)关联不上用n…

sql的左连接,右连接,内连接

环境: SQL工具(如Navicat,SQLyog) MySQL驱动 全局总结: 左连接:关注左边,右边没有就为空。右连接:关注右边,左边没有就为空。内连接:返回交集 必备: 两张或多张表格 一&#x…

Linux系统之iostat命令的基本使用

Linux系统之iostat命令的基本使用 一、iostat命令介绍二、iostat命令帮助1.1 iostat的帮助信息1.2 iostat的选项解释 三、iostat命令的基本使用3.1 查看iostat工具版本3.2 直接使用iostat命令3.3 间隔5秒查看3次信息3.4 只查看磁盘状态3.5 以k或M为单位显示信息 四、查看磁盘I/…

Linux实时监控iostat命令详解

概述&#xff1a; iostat 主要用于输出CPU和磁盘I/O相关的统计信息。 格式&#xff1a; iostat [选项] [<时间间隔>] [<次数>] 如图 参数&#xff1a; -c 显示CPU使用情况 -d 显示磁盘使用情况 -N 显示磁盘阵列(LVM) 信息 -n 显示NFS 使用情况 -k 以 KB 为单位显…

服务器 iostat命令详解

iostat是I/O statistics&#xff08;输入/输出统计&#xff09;的缩写&#xff0c;iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况&#xff0c;同时也会汇报出CPU使用情况。iostat也有一个弱点&#xff0c;就是它不能对某个进程进行深入分析&#…

Linux中iostat命令参数详解

iostat主要用于监控系统设备的IO负载情况&#xff0c;iostat首次运行时显示自系统启动开始的各项统计信息&#xff0c;之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以根据需求指定相应的次数和时间。 一、使用iostat 1命令&#xff1a; 各参数含义 Device:部…

转:linux iostat命令详解

转过来学习学习。 Linux系统中的 iostat是I/O statistics&#xff08;输入/输出统计&#xff09;的缩写&#xff0c;iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况&#xff0c;同时也会汇报出CPU使用情况。同vmstat一样&#xff0c;iostat也有一个…

iostat linux,centos安装iostat命令的方法详解

在centos系统中,可以使用yum命令安装iostat。 开始,想当然地运行命令: 复制代码 代码示例: #yum install iostat 出现如下图所示的提示: 经搜索后,知道使用yum安装iostat,需要安装的其实是sysstat。 例如: 复制代码 代码示例: #yum install sysstat 出现如下图所示的安装…

iostat 命令详解(二)

iostat 命令详解(二) iostat常用命令如下: 1,iostat 2,iostat -xk 1 1 3,iostat -dk 1 1 查看吞吐量 总结:

Linux中iostat含义,linux下iostat命令详解

iostat语法 用法&#xff1a;iostat [ 选项 ] [ [ ]] 常用选项说明&#xff1a; -c&#xff1a;只显示系统CPU统计信息&#xff0c;即单独输出avg-cpu结果&#xff0c;不包括device结果 -d&#xff1a;单独输出Device结果&#xff0c;不包括cpu结果 -k/-m&#xff1a;输出结果以…

iostat命令详解——linux性能分析

之前总结uptime和free命令&#xff0c;今天继续来总结一下iostat。给自己留个笔记&#xff0c;同时也希望对大家有用。 版本信息&#xff1a; sysstat version 9.0.4 (C) Sebastien Godard (sysstat <at> orange.fr) 基本使用&#xff1a; iostat [ -c ] [ …

Linux 性能分析之iostat命令详解

Linux 性能分析之iostat命令详解 iostat命令是IO性能分析的常用工具&#xff0c;其是input/output statistics的缩写。本文将着重于下面几个方面介绍iostat命令&#xff1a; iostat的安装iostat命令行选项说明iostat输出内容分析如何确定磁盘IO的瓶颈iostat实际案例 命令的安…

Linux命令---iostat命令详解

简介 iostat主要用于监控系统设备的IO负载情况&#xff0c;iostat首次运行时显示自系统启动开始的各项统计信息&#xff0c;之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的统计信息。 语法 iostat [ -c ] [ -d ] [ -h ] […

iostat命令安装及详解

iostat linux系统出现了性能问题&#xff0c;一般我们可以通过top、iostat、free、vmstat等命令 来查看初步定位问题。其中iostat可以给我们提供丰富的IO状态数据。 iostat 由 Red Hat Enterprise Linux AS 发布。同时 iostat 也是 Sysstat 的一部分。所以我们安装要安装syss…

iostat命令详解指标分析

Iostat iostat命令用于监视系统CPU和I/O设备负载 常用方法&#xff1a; iostat -x 1 12 检测系统的io状态&#xff0c;每一秒刷新一次&#xff0c;一共刷新12次 -x该选项显示和io相关的扩展数据 还可以使用-k或者-m选项以按照kb或MB显示单位 不足之处&#xff1a;iostat…

I/O查看--iostat命令详解

文章目录 一.iostat概述二.iostat命令参数三.示例 一.iostat概述 iostat 主要用于输出磁盘IO 和 CPU的统计信息。 iostat属于sysstat软件包。可以用yum install sysstat 直接安装。 cpu属性值说明 参数描述avg-cpucpu平局值%userCPU处在用户模式下的时间百分比%niceCPU处在带…

iostat 命令详解(一)

iostat 命令详解&#xff08;一&#xff09; 原文地址https://www.jianshu.com/p/5fed8be1b6e8 概述 iostat 主要用于输出磁盘IO 和 CPU的统计信息。 iostat属于sysstat软件包。可以用yum install sysstat 直接安装。 iostat 用法 用法&#xff1a;iostat [选项] [<时…

Linux iostat命令详解

Linux iostat命令详解 iostat主要用于监控系统设备的IO负载情况&#xff0c;根据这个可以看出当前系统的写入量和读取量&#xff0c;CPU负载和磁盘负载。 1&#xff0e;命令格式&#xff1a; iostat 参数 时间 次数 2&#xff0e;命令参数&#xff1a; -C 显示CPU使用情况 -d 显…

优化命令iostat详解

一、iostat命令 iostat用于监视系统I/O设备负载。iostat通过观察设备处于活动状态的时间&#xff08;相对于其平均传输速率&#xff09;来整理实时报告输出 。主要用于监视nfs网络文件系统和本地文件系统。 1、iostat命令格式 iostat [ -c | -d ] [ -k | -m ] [ -t ] [ -V ]…

linux iostat 命令详解

iostat主要用于监控系统设备的IO负载情况&#xff0c;iostat提供了丰富的参数给我们查询各种维度的io数据, iostat首次运行时显示自系统启动开始的各项统计信息&#xff0c;之后运行iostat将显示自上次运行该命令以后的统计信息。用户可以通过指定统计的次数和时间来获得所需的…