-周末实在懒得写
-于是周一活干完了,在公司写写好了
-SQL45题基本能解决,有些问题在这里记录下好了
-参考答案有问题的地方
-第七题,参考答案给出的两个代码都没查全= =、不走心啊
-思路是将学全的sid取出来,然后用not in就能反选出未学全的学生
-第九题,老师在群里指出了本题参考答案不对,也给出答案了
-这题需要在MYSQL中找出与指定学生选课完全相同的其他同学,思路是通过两步筛选去确定完全相同
-第一步,先用not in等,选出只选择了与该同学有相同课程的学生,两次not in即可达到
-第二步,再用having过滤,count选择课程数量与该同学相同,就确定了完全相同
-select b.* from
(select * from sc where sid not in (select sid from sc where cid not in (select cid from sc where sid='01')) and sid!='01') a
left join student b on a.sid=b.sid
group by a.sid
having count(cid)=(select count(cid) from sc where sid='01');
-第四十二、四十三题,代码放workbench跑一下就知道没查出来哇,这参考答案也是醉了= =、
-yearweek()的结果是年周,如2019/5/20,用函数处理后就是201920,表示第20周,那用yearweek()处理出生日期的话,周相同,单年不同,需要用right(yearweek(),2)筛选出后两位进行比较
-第四十四、四十五题,参考答案里用了EXTRACT,还没见过这个,但是代码在workbench上也没查出来啊= =、
-直接month()处理下就好了么这个
-还未学好的地方
-rank排名问题,最后的@等,没在《MYSQL必会》中看到,只看案例看不懂
-求分组前N名问题,解决这个问题,参考答案用到了(count())<N,不太理解这里,在CSDN上查了下,直接一个一个查,再union all好了。。没有实际应用的需求,所以也没有深入探究下去的欲望,先这样了
-在leetcode中国上没找到mysql的解答,只有python和python3的,是我的打开方式有问题么= =。。
-话说根据课程进度,5/20直接开始学python,是课程提前了么= =