知识点
1.查询值为null的数据(常用在外连接上),用 is null
2.round(数,保留位数),四舍五入保留机会小数
3.ifnull(null值,替换的值),将null值替换为xx值
4.sum()求和
5.case when(xx=xx)then 1 else 0 end,如果值为true返回1,值为false返回0
6.判断奇数,id % 2 = 1,直接写在where条件里面即可
题目思路
1280
1.观察数据,需要查出没有考试的科目的数据,仅Students表和Exam表关联无法查出全部科目的数据,所以使用笛卡尔积将Students与Subjects关联,获取学生与科目的所有情况
2.将关联表与Exam表外连接,就会获取到参加考试和未参加考试科目的学生考试集合
3.group by分组统计考试次数(结果集包含什么字段,group by对那几个字段分组),order by 进行排序(group by与order by多条件用","隔开)
570
1.通过子查询,查询出来managerId>=5的managerId
2.然后获取子表managerId = 父表Id的字段
1934
连接时,那个作为主表,副表的数据向谁合并。在写这道sql时我以Confirmations作为主表,所以我就少了user_id = 6的数据