基于两个不同的表检索行

时间:2012-08-03 14:52:50

标签: sql sql-server

假设我在SQL Server数据库中有两个表(EmpEmpCopy),其中包含以下数据:

案例1:EmpEmpCopy表中的数据如下所示:

Table:  Emp

Id      Name
-----------------
1      Emp_Name
2      Emp_Age
3      Emp_City

表:EmpCopy

Id  Name
--------------------
1   Emp_Name
2   Emp_Age

案例2:Emp和EmpCopy表中的数据如下所示:

Table:  Emp

Id      Name
--------------------
1   Emp_Name
2   Emp_Age

Table: EmpCopy

Id      Name
---------------------
1   Emp_Name
2    Emp_Age
3    Emp_City

现在根据上面给出的情况,我想从两个表中检索记录,就像下面给出的那样

案例1:

Id  Emp_Column  EmpCopy_Column
1   Emp_Name    Emp_Name
2   Emp_Age Emp_Age
3   Emp_City    NULL

案例2:

Id  Emp_Column  EmpCopy_Column
1   Emp_Name    Emp_Name
2   Emp_Age Emp_Age
3   NULL        Emp_City

1 个答案:

答案 0 :(得分:5)

SELECT ISNULL(A.Id,B.Id) Id, A.Name Emp_Column, B.Name EmpCopy_Column
FROM Emp A
FULL JOIN EmpCopy B
ON A.Id = B.Id