1. 程式人生 > >Mysql中Left Join 與Right Join 與 Inner Join 與 Full Join的區別

Mysql中Left Join 與Right Join 與 Inner Join 與 Full Join的區別

chinese ron 兩張 ansi 左連接 ima money key sel

看看Left Join 與Right Join 與 Inner Join 與 Full Join對表進行操作後得到的結果。

  • 在數據庫中新建兩張表,並插入要測試的數據。

新建表:

[sql] view plain copy
  1. USE [Test]
  2. GO
  3. /****** 對象: Table [dbo].[EMP] 腳本日期: 06/22/2012 15:37:28 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE TABLE [dbo].[EMP](
  9. [ENAME] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
  10. [CITY] [nchar](10) COLLATE Chinese_PRC_CI_AS NULL
  11. ) ON [PRIMARY]


[sql] view plain copy
  1. USE [Test]
  2. GO
  3. /****** 對象: Table [dbo].[SAL] 腳本日期: 06/22/2012 15:38:04 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. CREATE TABLE [dbo].[SAL](
  9. [ENAME] [nchar](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
  10. [SALARY] [money] NULL
  11. ) ON [PRIMARY]


插入數據得到的表:

EMP表:技術分享

SAL表:技術分享

    • 左連接 [sql] view plain copy
      1. select * from EMP Left join SAL on EMP.ENAME = SAL.ENAME;

      技術分享左連接,表EMP是主表,因此查詢結果是顯示EMP(主表)的全部信息和SAL(附表)與EMP相關的信息。
    • 右連接 [sql] view plain copy
      1. Select * from EMP Right join SAL on EMP.ENAME = SAL.ENAME;

      技術分享右連接,表SAL是主表,因此查詢結果顯示SALT(主表)的全部信息和EMP(附表)與SAL想關的信息。
    • 內連接 [sql] view plain copy
      1. SELECT * FROM EMP inner join SAL on EMP.ENAME = SAL.ENAME;

      技術分享內連接,顯示的是連個表相關的信息。
    • 全連接 [sql] view plain copy
      1. SELECT * FROM EMP full join SAL on EMP.ENAME = SAL.ENAME;

      技術分享全連接,顯示兩個表所有的信息。

Mysql中Left Join 與Right Join 與 Inner Join 與 Full Join的區別