如何修复左联接SQL查询

时间:2019-05-02 07:47:07

标签: sql-server

我有两个下表。 表A:

 Email            Phone
 A@gmail.com      1234
 B@gmail.com      2345
 C@gmail.com      4567
 D@gmail.com      5432
 E@gmail.com      4568

表B:

 Email            LinkName
 A@gmail.com      X
 B@gmail.com      Y
 C@gmail.com      
 D@gmail.com      X
 B@gmail.com      X

所需的输出:

 Email           LinkName
 C@gmail.com     
 E@gmail.com  

以下是我尝试过的查询。请让我知道它是否正确:

   Select Email from Table A
     Left join  Table B
     on A.Email = B.Email
     where C.LinkName is null

1 个答案:

答案 0 :(得分:1)

不,C.LinkName您没有C表

SELECT
A.Email
FROM TABLE A
LEFT JOIN TABLE B
     ON A.Email = B.Email
     WHERE B.LinkName IS NULL

这是正确的,LinkName是B列,因此您必须在WHERE语句中对其进行修改

如果您想要LinkName列(如所需的输出),则应在SELECT中添加B.LinkName,但是它将仅填充NULL值