sql中COALESCE函数的使用小结 |
在SQL中, 语法COALESCE(expression1, expression2, ..., expressionN)
使用场景
示例假设你有一个 SELECT COALESCE(salary, 0) AS effective_salary FROM Employees; 这个查询通过 小结
leetcode例题:1378. 使用唯一标识码替换员工ID题目描述
+---------------+---------+ | Column Name | Type | +---------------+---------+ | id | int | | name | varchar | +---------------+---------+ 在 SQL 中,id 是这张表的主键 。 这张表的每一行分别代表了某公司其中一位员工的名字和 ID 。
+---------------+---------+ | Column Name | Type | +---------------+---------+ | id | int | | unique_id | int | +---------------+---------+ 在 SQL 中,(id, unique_id) 是这张表的主键 。 这张表的每一行包含了该公司某位员工的 ID 和他的唯一标识码(unique ID) 。 展示每位用户的 唯一标识码(unique ID );如果某位员工没有唯一标识码,使用 null 填充即可 。 你可以以 任意 顺序返回结果表 。 返回结果的格式如下例所示 。 示例 1: 输入: Employees 表: +----+----------+ | id | name | +----+----------+ | 1 | Alice | | 7 | Bob | | 11 | Meir | | 90 | Winston | | 3 | Jonathan | +----+----------+ EmployeeUNI 表: +----+-----------+ | id | unique_id | +----+-----------+ | 3 | 1 | | 11 | 2 | | 90 | 3 | +----+-----------+ 输出: +-----------+----------+ | unique_id | name | +-----------+----------+ | null | Alice | | null | Bob | | 2 | Meir | | 3 | Winston | | 1 | Jonathan | +-----------+----------+ 解释: Alice and Bob 没有唯一标识码, 因此我们使用 null 替代 。 Meir 的唯一标识码是 2 。 Winston 的唯一标识码是 3 。 Jonathan 唯一标识码是 1 。 解答要解决这个问题,你可以使用 SQL 的 以下是实现该逻辑的 SQL 查询: SELECT COALESCE(EU.unique_id, NULL) AS unique_id, E.name FROM Employees E LEFT JOIN EmployeeUNI EU ON E.id = EU.id ORDER BY E.id; -- 或者根据需要排序,比如按照 name 或 unique_id 这个查询做了以下事情:
注意,这个查询确保了即使某些员工没有对应的 到此这篇关于sql中COALESCE函数的使用小结的文章就介绍到这了,更多相关sql COALESCE函数内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持! |