发表于: 2018-01-20 23:34:59

1 539


今天完成的事情:

1. 完成4个接口

 课时的增删改查



明天计划的事情

1.任务列表和添加接口



遇到的问题:

1.  课时的进度分散在用户_课程表里,需要进行统计,用来表示每一用户所对应的总学习课时数,并于用户Id进行一一对应。

解决方案使用视图来进行查询,禁止通过视图进行删改查。


select `user`.`id` AS `id`,`user`.`grade` AS `grade`,`user`.`name` AS `name`,`user`.`study_day` AS `study_day`,`user`.`study_star` AS `study_star`,`user`.`email` AS `email`,`user`.`status` AS `status`,sum(`user_course`.`course_progress`) AS `study_lesson` 


from (`user` left join `user_course` on((`user_course`.`user_id` = `user`.`id`)))


 group by `user`.`id`



收获:

外连接的使用:

外联接

外联接可以是左向外联接、右向外联接或完整外部联接。     
在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:     

1)LEFT  JOIN或LEFT OUTER JOIN     
左向外联接的结果集包括  LEFT OUTER子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。       

左连接   
  select   a.*,b.*   from   a   left   join   b     on   a.id=b.parent_id       


2)RIGHT  JOIN 或 RIGHT  OUTER  JOIN     
右向外联接是左向外联接的反向联接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。    

右连接   

select   a.*,b.*   from   a   right   join   b     on   a.id=b.parent_id    

   
3)FULL  JOIN 或 FULL OUTER JOIN
完整外部联接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。   

完全连接   
  select   a.*,b.*   from   a   full   join   b     on   a.id=b.parent_id   


例如:上面的视图中用的是左链接

如果不用为:


用上:





任务添加接口,列表接口

预计完成时间:1.21

DOME时间:2018-2-9



返回列表 返回列表
评论

    分享到