前言
练习SQL语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。
今日题目:
1387.使用唯一标识码替代员工ID
表:Employees
列名 | 类型 |
---|---|
id | int |
name | varchar |
在 SQL 中,id 是这张表的主键。
这张表的每一行分别代表了某公司其中一位员工的名字和 ID 。
表:EmployeeUNI
列名 | 类型 |
---|---|
AddressId | int |
PersonId | int |
在 SQL 中,(id, unique_id) 是这张表的主键。
这张表的每一行包含了该公司某位员工的 ID 和他的唯一标识码(unique ID)。
展示每位用户的 唯一标识码(unique ID );如果某位员工没有唯一标识码,使用 null 填充即可。你可以以 任意 顺序返回结果表。
我那不值一提的想法:
首先分析表内容,题目给了两张表,第一张是员工表,记录了员工id和姓名,第二张是员工的标识码表,记录了每位员工id的独特的标识码。其中两种表的员工id是一个数据。其次分析需求,展示每位员工的标识码,并且如果没有标识码就用null代替,我首先想到的就是 Employees左连接EmployeeUNI表,这样当第一张表没有在第二中表中找到对应的数据的时候就会显示null。
select e1.unique_id,e.name
from Employees e
left join EmployeeUNI e1
on e.id = e1.id
结果:
总结:
能运行就行。