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


看看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;  

      全連接,顯示兩個表所有的信息。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM