如何为缺失值编写带有NULL的查询

时间:2019-06-02 20:53:47

标签: mysql sql

下面,我有2张桌子。我想编写一个查询,该查询将返回每个NAME和对应的UIN值。如果没有UIN值,我想返回该条目的NULL

enter image description here

例如,对于Samanta,这样的2个条目应为:

Bob 49638-001

Samantha NULL

我尝试过SELECT NAME JOIN EMPLOYEE_UIN.UIN INSERT "NULL" WHERE UIN = NULL,但是没有运气。我是SQL的初学者,在SO上找不到类似的示例。

2 个答案:

答案 0 :(得分:3)

仅使用LEFT JOIN,仅当它们符合条件标准时(本例E1.id = E2.id),这将在左表(Employee)上显示所有元素,并在右表(Employee_unit)上显示属性。这意味着当条件不匹配时,它将为右表的属性的所有引用显示NULL值(在这种情况下为E2.UNI)。那正是您想要的。

Select E.Name,  E2.UIN
FROM EMPLOYEE E LEFT JOIN EMPLOYEE_UNIT E2 ON E1.ID = E2.ID;

有关使用联接的更多信息,请参见MySQL join made easy.

答案 1 :(得分:0)

使用带有左联接的COALESCE解决您的问题

Select E.Name,  COALESCE(E2.UIN,"NULL")
    FROM EMPLOYEE E LEFT JOIN EMPLOYEE_UNIT E2 ON E1.ID = E2.ID;