目录
题目一:组合两个表
题目概述
题目:
解题思路
代码测试
这里我们使用的是左外连接
select FirstName, LastName, City, State from Person left join Address on Person.PersonId = Address.PersonId;
在LeetCode上执行测试是否成功
与预期结果一致,通过!
知识点小结
联表查询之外连接
题目二:第二高的薪水
题目概述
解题思路
方式一
方式二
代码测试
方式一
select ifnull((
select max(salary) from Employee
where
salary < (select max(salary) from Employee)),null)
as SecondHighestSalary;
输出与预期结果一致,答题成功!
方式二
limit
select
ifnull(
(select distinct Salary
from Employee
order by Salary desc
limit 1,1),
null) as SecondHighestSalary;
输出与预期结果一致,答题成功!
limit offset
SELECT
IFNULL(
(SELECT DISTINCT Salary
FROM Employee
ORDER BY Salary DESC
LIMIT 1 OFFSET 1),
NULL) AS SecondHighestSalary
输出与预期结果一致,答题成功!
知识点小结
题目三:超过经理收入的员工
题目概述
解题思路
方法一
方法二
代码测试
方法一
方法二
知识点小结
内连接与外连接
题目四:查找重复的电子邮箱
题目概述
题目:
解题思路
方法1
方法2
方法3
代码测试
方法1
select Email from
(select Email, count(Email) as num from Person group by Email) as temporary
where num > 1;
输入题解,进行测试
测试成功!
方法2
select Email from Person group by Email having count(Email) > 1;
输入题解,进行测试
测试成功!
方法3
select distinct a.Email from Person a,Person b where a.Email = b.Email and a.id <> b.id;
输入题解,进行测试
测试成功!
知识点小结
group by与having子句
最后呢小梦再分享一下SQL查询语句各关键字的执行顺序,可以拿小本本记一下了,有用的很~
题目五:从不订购的顾客
题目概述
解题思路
方法一
方法二
代码测试
方法一
方法二
知识点小结
内连接与外连接
😀感谢小伙伴们支持,如果有什么疑问,欢迎留言询问,小梦定知无不言,言无不尽!