多表查询-4-外连接

多表查询-4-外连接

外连接

与内连接不同, 外连接是指使用 OUTER JOIN 关键字将两个表连接起来. 外连接生成的结果集不仅包含符合条件的行数据, 而且包括左表(左外连接时的表)、右表(右外连接时的表)或两边连接表(全外连接时的表)中所有的数据行

左外连接

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

相当于查询左表 的所有数据, 包含左表右表交集部分的数据

  1. 语法

    sql 复制代码
    SELECT 字段列表 FROM 表1 LEFT [OUTER] JOIN 表2 ON 条件 ...;
  2. 案例演示

    查询 employees 表的所有数据, 和对应的部门信息(左外连接)

    sql 复制代码
    select *
    from employees as e
            left join departments as d on e.dept_id = d.dept_id;

右外连接

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

相当于查询右表 的所有数据, 包含左表右表交集部分的数据

  1. 语法

    sql 复制代码
    SELECT 字段列表 FROM 表1 RIGHT [OUTER] JOIN 表2 ON 条件 ...;
  2. 案例演示

    查询 departments 表的所有数据, 和对应的员工信息(右外连接)

    sql 复制代码
    select *
    from employees as e
            right join departments as d on e.dept_id = d.dept_id;
相关推荐
crossoverJie1 小时前
StarRocks 如何在本地搭建存算分离集群
数据库·后端
潇凝子潇1 小时前
如何在不停机的情况下,将MySQL单库的数据迁移到分库分表的架构上?
数据库·mysql·架构
Tapdata2 小时前
什么是 Operational Data Hub?它因何而生,又为何能够在当下成为技术共识?
数据库
Seven972 小时前
Mysql的索引数量是否越多越好?为什么?
mysql
这里有鱼汤2 小时前
普通人做量化,数据库该怎么选?
数据库·后端
BOOM朝朝朝2 小时前
Mongo索引
数据库·后端
Java烘焙师4 小时前
架构师必备:实时对账与离线对账
hive·mysql·架构·对账
许野平4 小时前
Rust:如何访问 *.ini 配置文件?
开发语言·数据库·rust·ini·configparser
程序终结者5 小时前
超越边界:MongoDB 16MB 文档限制的 pragmatic 解决方案
数据库·mongodb
正在走向自律5 小时前
SelectDB数据库,新一代实时数据仓库的全面解析与应用
数据库·数据仓库·实时数据仓库·selectdb·云原生存算分离·x2doris 迁移工具·mysql 协议兼容