看看Left Join 與Right Join 與 Inner Join 與 Full Join對表進行操作后得到的結果。
- 在數據庫中新建兩張表,並插入要測試的數據。
新建表:
- USE [Test]
- GO
- /****** 對象: Table [dbo].[EMP] 腳本日期: 06/22/2012 15:37:28 ******/
- 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] 腳本日期: 06/22/2012 15:38:04 ******/
- 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表:
SAL表:
- 左連接
- select * from EMP Left join SAL on EMP.ENAME = SAL.ENAME;
左連接,表EMP是主表,因此查詢結果是顯示EMP(主表)的全部信息和SAL(附表)與EMP相關的信息。
- 右連接
- Select * from EMP Right join SAL on EMP.ENAME = SAL.ENAME;
右連接,表SAL是主表,因此查詢結果顯示SALT(主表)的全部信息和EMP(附表)與SAL想關的信息。
- 內連接
- SELECT * FROM EMP inner join SAL on EMP.ENAME = SAL.ENAME;
內連接,顯示的是連個表相關的信息。
- 全連接
- SELECT * FROM EMP full join SAL on EMP.ENAME = SAL.ENAME;
全連接,顯示兩個表所有的信息。