多表查询-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;
相关推荐
恒悦sunsite17 小时前
Ubuntu之apt安装ClickHouse数据库
数据库·clickhouse·ubuntu·列式存储·8123
奥尔特星云大使17 小时前
MySQL 慢查询日志slow query log
android·数据库·mysql·adb·慢日志·slow query log
来自宇宙的曹先生17 小时前
MySQL 存储引擎 API
数据库·mysql
间彧18 小时前
MySQL Performance Schema详解与实战应用
数据库
间彧18 小时前
MySQL Exporter采集的关键指标有哪些,如何解读这些指标?
数据库
weixin_4462608518 小时前
Django - 让开发变得简单高效的Web框架
前端·数据库·django
mpHH18 小时前
babelfish for postgresql 分析--todo
数据库·postgresql
zizisuo18 小时前
解决在使用Lombok时maven install 找不到符号的问题
java·数据库·maven
老苏畅谈运维19 小时前
Oracle的connect by level在MySQL中的华丽变身
mysql·oracle
程序边界20 小时前
国产之光!金仓数据库KingbaseES Oracle兼容性深度体验大赏
数据库·oracle