SQL中Left Join、Right Join、Inner Join、Full Join的区别

目录

SQL中常用的JOIN操作类型及其区别。

JOIN类型概览

  • LEFT JOIN:返回左表中所有记录,以及右表中符合连接条件的记录。
  • RIGHT JOIN:返回右表中所有记录,以及左表中符合连接条件的记录。
  • INNER JOIN:仅返回两表中都符合连接条件的记录。
  • FULL JOIN:返回两表中的所有记录(LEFT JOIN + RIGHT JOIN的并集)。

示例表结构

创建两个测试表EMP和SAL:

USE [Test]
GO
CREATE TABLE [dbo].[EMP](
  [ENAME] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
  [CITY] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]

CREATE TABLE [dbo].[SAL](
  [ENAME] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
  [SALARY] [money] NULL
) ON [PRIMARY]

通过在这两表上执行不同的JOIN操作,可以观察各种JOIN方式的结果差异。

#sql-join