基于两个不同的表检索行

Gug*_*nvi 1 sql sql-server

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

案例1:数据EmpEmpCopy表格如下:

Table:  Emp

Id      Name
-----------------
1      Emp_Name
2      Emp_Age
3      Emp_City
Run Code Online (Sandbox Code Playgroud)

表:EmpCopy

Id  Name
--------------------
1   Emp_Name
2   Emp_Age
Run Code Online (Sandbox Code Playgroud)

案例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
Run Code Online (Sandbox Code Playgroud)

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

情况1:

Id  Emp_Column  EmpCopy_Column
1   Emp_Name    Emp_Name
2   Emp_Age Emp_Age
3   Emp_City    NULL
Run Code Online (Sandbox Code Playgroud)

案例2:

Id  Emp_Column  EmpCopy_Column
1   Emp_Name    Emp_Name
2   Emp_Age Emp_Age
3   NULL        Emp_City
Run Code Online (Sandbox Code Playgroud)

Lam*_*mak 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
Run Code Online (Sandbox Code Playgroud)