本文主要是介绍双非二本找实习前的准备day9,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
学习目标:
每天2-3到简单sql(刷完即止),每天复习代码随想录上的题目2-3道算法(时间充足可以继续),背诵的八股的问题也在这里记录了
今日碎碎念:
1)转赛道了,跑测开去,这几天没更新是因为在加急学测试的内容,真的是肝吐了要,但是也拿到了几个offer,然后有家杭州的中厂还没发,希望可以oc啦
2)转赛道的原因:卡学局,怎么投都没人要QAQ,别说实力有多强,不是高学历开头打招呼,连被“已读”的机会都没有
3)今天刚过科三,这几天休息都不是很好,就只写一下sql题好了,明天开始正常打卡
力扣刷题
SQL
力扣619:619. 只出现一次的最大数字
解答思路:
1)整体来说比较简单,找出只出现一次的,然后求最大即可
select max(num) as numfrom (select numfrom MyNumbersgroup by numhaving count(*) = 1)as t
力扣1045:1045. 买下所有产品的客户
解答思路:
1)本题我也是先考虑了左链接,但是发现写出来有几个用例过不了
2)后面读了题目,有重复数据
3)我们先去除重复购买的数据,然后拿剩下的数据和Product表里面的数据条数进行比较即可
#
select Customer.customer_idfrom Customergroup by customer_idhaving count(distinct product_key) = (select count(distinct product_key) from Product)
力扣1731:1731. 每位经理的下属员工数量
解答思路:
1)这块思路上其实不难,但是我有个地方疏漏了,round后面没指定小数位数导致超时
2)这里需要对A.emoloyee_id进行分组,如果没有分组,那么展现出来的结果,如果reports_to为空的情况下,会展现出一行null数据,而要求的应该是不输出
select A.employee_id,A.name,count(A.employee_id) as reports_count,round(avg(B.age),0) as average_age FROM Employees as A inner join Employees as Bon A.employee_id = B.reports_togroup by A.employee_idorder by A.employee_id
力扣1978:1978. 上级经理已离职的公司员工
解答思路:
1)这块思路上其实不难
# 查找这些员工的id,他们的薪水严格少于$30000 并且他们的上级经理已离职
select a.employee_idfrom(select employee_id,manager_id,salaryfrom Employeeswhere manager_id is not null and salary < 30000)awhere a.manager_id not in (select distinct employee_id from Employees) order by employee_id
八股
复习之前的计网的八股
这篇关于双非二本找实习前的准备day9的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!