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

  • 摘要:首先看看LeftJoin与RightJoin与InnerJoin与FullJoin对表进行操作后得到的结果。在数据库中新建两张表,并插入要测试的数据。新建表USE[Test]GO/******对象:Table[dbo].[EMP]脚本日期:10/31/201618:30:00******/SETANSI_NULLSONGOSETQUOTED_IDENTIFIERONGOCREATETABLE[dbo].[EMP]([ENAME][nchar](10)COLLATEChines
  • 首先看看Left Join 与Right Join 与 Inner Join 与 Full Join对表进行操作后得到的结果。

    在数据库中新建两张表,并插入要测试的数据。
    新建表USE [Test] GO /****** 对象: Table [dbo].[EMP] 脚本日期: 10/31/2016 18:30:00 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON 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] USE [Test] GO /****** 对象: Table [dbo].[SAL] 脚本日期: 10/31/2016 18:30:00 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[SAL]( [ENAME] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL, [SALARY] [money] NULL ) ON [PRIMARY] 插入数据得到的表:

    EMP表:SQL中Left Join 与Right Join 与 Inner Join 与 Full Join的区别_MySQL

    SAL表:SQL中Left Join 与Right Join 与 Inner Join 与 Full Join的区别_MySQL

    左连接select * from EMP Left join SAL on EMP.ENAME = SAL.ENAME; SQL中Left Join 与Right Join 与 Inner Join 与 Full Join的区别_MySQL左连接,表EMP是主表,因此查询结果是显示EMP(主表)的全部信息和SAL(附表)与EMP相关的信息。
    右连接Select * from EMP Right join SAL on EMP.ENAME = SAL.ENAME; SQL中Left Join 与Right Join 与 Inner Join 与 Full Join的区别_MySQL
    右连接,表SAL是主表,因此查询结果显示SALT(主表)的全部信息和EMP(附表)与SAL想关的信息。
    内连接SELECT * FROM EMP inner join SAL on EMP.ENAME = SAL.ENAME;SQL中Left Join 与Right Join 与 Inner Join 与 Full Join的区别_MySQL
    内连接,显示的是连个表相关的信息。
    全连接SELECT * FROM EMP full join SAL on EMP.ENAME = SAL.ENAME;SQL中Left Join 与Right Join 与 Inner Join 与 Full Join的区别_MySQL
    全连接,显示两个表所有的信息。

猜你喜欢

转载自blog.csdn.net/qq_34987215/article/details/84110693