mysql 我需要基于NULL值连接2个表

ny6fqffe  于 2023-03-17  发布在  Mysql
关注(0)|答案(1)|浏览(120)

我的表可以如下所示
表名:学生
| 姓名|状态|
| - ------|- ------|
| 杰森|十|
| 约翰|空值|
表名:状态
| 状态|描述|
| - ------|- ------|
| 十|活跃|
| 零|未激活|
当我连接这两个表时,我无法得到预期的结果,因为在MySQL中NULL不等于NULL。
我尝试了下面的代码

Select a.NAME , b.DESCRIPTION
from STUDENT a
LEFT JOIN STATUS b ON a.STATUS = b.STATUS;

我得到的结果如下
| 姓名|描述|
| - ------|- ------|
| 杰森|活跃|
| 约翰|空值|

预期结果

| 姓名|描述|
| - ------|- ------|
| 杰森|活跃|
| 约翰|未激活|

oaxa6hgo

oaxa6hgo1#

通常一个NULL不等于另一个NULL。
在NULL安全比较运算符<=>中需要:

SELECT a.name, b.description 
FROM student a 
LEFT JOIN status b ON a.status <=> b.status;

相关问题