今天做了下面两题,到第三题的时候想了下但是没有太多的思路,然后看题解的时候实在是觉得自己不会,打算明天看吧。
1.按分类统计薪水相关的表和题目如下
我看到题目就认为有三个输出需要联合,所以就用了union,我的题解如下
select 'Low Salary'as category, count(income) as accounts_count from accounts where income<20000 union select 'Average Salary'as category, count(income) as accounts_count from accounts where income between 20000 and 50000 union select 'High Salary'as category, count(income) as accounts_count from accounts where income>50000;
就是普通的union联合表,但是效率好像不高,我看效率第一的题解有一个很长的,如下图
我想着理解with as 但是百度我觉得这种方式不重要,而且我觉得这个太复杂了,还是觉得不去理解了。
2.上级经理已离职的公司员工相关的表和题目如下
我是想着简化问题,先找出薪水低于30000的员工,然后找这些员工的上级是否在全部的表里,但是其实刚开始我是没有想出来的,画了个图才发现不难,写完其实会发现是很简单的一题,我的题解如下
select employee_id from employees where salary<30000 and manager_id not in (select employee_id from employees) order by employee_id;
总结
有行动就是我这个菜鸟的进步,不行动啥也没有,生命在于探索和实践,现在的情况不好不代表以后,加油加油!!!!我现在就是觉得这种方式其实反馈不是很多的,没有探讨的步骤,自己的话又不会,不过一句话还是多练多反思和实践吧!!!