高频SQL50题

知识点

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的数据

上一篇:使用弹性方法的 BP 网络学习改进算法详解


下一篇:AI 如何改变 IAM 和身份安全