【发布时间】:2021-12-05 18:37:17
【问题描述】:
表格可能如下所示:
id | label
----------
1 | red
3 | green
5 | blue
现在,有一组给定的 ID,必须与数据库进行比较。假设(3, 4, 5)。
我正在寻找一个 SELECT 语句,它返回现有的 ID,包括标签和标签 = null 的不存在的 ID。
所以给定(3, 4, 5) 我正在寻找这个结果
id | label
----------
3 | green
4 | NULL
5 | blue
如何在 MySQL/MariaDB 中做到这一点?
在 PostgreSQL 中,它将是 SELECT FROM (VALUES (3), (4), (5)) t(id) 与表的左连接组合。但是,我没有找到 MySQL 的替代品。
【问题讨论】:
-
“id 的给定集合”从何而来?它是另一个查询的结果吗?如果是这样,您可以使用连接来获得结果。如果它来自其他地方,您将需要使用联合或子查询来获得您想要的结果
-
@RisingSun 该集合是通过用户从外部提供的,而不是在数据库内部。
标签: mysql sql mariadb left-join