内连接和外连接

内连接

内连接返回两个表中所有满足连接条件的行。只有当两个表中的某行在连接条件上匹配时,结果集才包含这些行。

示例:

SELECT A.*, B.*
FROM TableA A
INNER JOIN TableB B
ON A.id = B.id;

在上述查询中,只有当 表 A 和 表 B 的 id 字段相等时,才会返回相应的行。如果在 表 A 或 表 B 中没有匹配的 id,那么这些行将不会出现在结果集中。

外连接

外连接分为三种:左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)和全外连接(FULL JOIN)。

左外连接

左外连接返回左表中的所有行以及右表中满足连接条件的行。如果右表中没有匹配的行,结果集中右表的字段会包含NULL。

右外连接

右外连接与左外连接类似,只不过它返回右表中的所有行以及左表中满足连接条件的行。如果左表中没有匹配的行,结果集中左表的字段会包含NULL。

全外连接

全外连接返回两个表中的所有行,无论是否满足连接条件。未匹配的行在结果集中对应表的字段会显示为NULL。(MYSQL中没有全外连接)

总结

  • 内连接:只返回两个表中满足连接条件的行。
  • 左外连接:返回左表中的所有行以及右表中满足连接条件的行,右表无匹配行时字段显示为NULL。
  • 右外连接:返回右表中的所有行以及左表中满足连接条件的行,左表无匹配行时字段显示为NULL。
  • 全外连接:返回两个表中的所有行,无论是否满足连接条件,未匹配行字段显示为NULL。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-11 23:38:04       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-11 23:38:04       5 阅读
  3. 在Django里面运行非项目文件

    2024-06-11 23:38:04       4 阅读
  4. Python语言-面向对象

    2024-06-11 23:38:04       7 阅读

热门阅读

  1. RapidJosn

    RapidJosn

    2024-06-11 23:38:04      12 阅读
  2. C# —— 显示转换

    2024-06-11 23:38:04       14 阅读
  3. springboot接收byte[]字节

    2024-06-11 23:38:04       13 阅读
  4. 深度学习在老年痴呆检测中的应用:数据集综述

    2024-06-11 23:38:04       17 阅读
  5. C语言学习第四天

    2024-06-11 23:38:04       16 阅读