
【力扣-175】
表:

问题: 请查询 无论 person 是否有地址信息,都需要基于上述两表提供 person 的以下信息:FirstName,LastName,City,State
思路解析:
因为无论person是否有地址信息,都需要取出每个用户的地址,有则取出对应地址,没有则为空,所以此处需要对表进行左关联。关联条件为 PersonId。
解答:
select
a.FristName,
a.LastName,
b.City,
b.State
from Person as a
left join Address as b
on a.PersonId=b.PersonId
【力扣-181】
表Employee:

问题: 查询收入比经理高的员工,以任意顺序返回结果表。

思路解析:
employee表中字段解析:id-员工id、name-姓名,salary-薪资、managerId-经理ID。
一张表比较两个人的工资,自然想到需要将一张表变为两张表,以employee表为主表提供员工id和员工薪水,然后自关联employee表可以提供经理id和经理薪水。
解答:
select
a.name as Employee
from Employee a
left join Employee b
on a.managerId=b.id
where a.salary>b.salary
【力扣-182】
表Person:

问题: 查找Person表中所有重复的电子邮箱。返回如下结果:

思路解析:
表字段解析:Id-用户唯一标识、Email-用户邮箱。
统计重复电子邮箱,只需要按照邮箱分组,统计每个邮箱出现的次数,如果次数大于1,即为重复邮箱。
解答:
select
Email
from Person
group by Email
having count(Email)>1
好了,今天的分享就到这里,喜欢的话点个赞吧~
更多sql、excel、面试题、面经移步 公众号 :数据怎么玩