拖延症害死人,还有两周开学,必须必须完成暑假定下的任务!加油~
主要内容:
一.表的加法union
代码示例:
1.1
1.2
二 . 表的联结---结合多表以获取需要的数据
表的关系:
- Cross join
- Inner join
- Left join
- Right join
- Full join
2.1交叉联结(笛卡尔积)---其他联结的基础,类似扑克牌大小与花色的组合
2.2内联结---取各表的公共部分的数据
代码示例:
2.3 左联结---以左边表所有数据为基础取出右边中相同的部分进行交叉联结
代码示例:
Ps: where 语句可以取出除 inner join 外的部分数据,代码示例:
2.4右联结---以右边表所有数据为基础取出左边中相同的部分进行交叉联结;
Ps: where 语句可以取出除 inner join 外的部分数据(纠正:is null 不是 = null)
2.5 全联接---MySQL不支持
Attention: SQL 运行顺序牢记在心~
三 . 应用案例
三部曲:
- 理解问题要求;
- 写出分析思路;
- 写出对应SQL 语句;
3.1 Case study 1: 查询所有学生的学号,姓名,选课数,总成绩
3.2 Case study 2:查询平均成绩大于85的所有学生的学号,姓名和平均成绩
3.3 Case study 2:查询学生的选课情况包括学号,姓名,课程号,课程名称
来一个贴心的总结~
四 .case表达式
形如:
学以致用~
4.1判断学生成绩是否合格
4.2查询每门课程的及格人数和不及格人数
4.3分段统计各科成绩,以及各分数段人数,课程号,课程名称
Ps:当用多个列分组时,这几个列的值全部相同才算一组
最后,记得多去sqlzoo逛逛~勤能补拙~加油~
最后的最后,以后打死我也不拖延了,太难受 !!!