本文涵盖3部分:
- School数据库包含的4张报表:student、score、course和teacher,报表明细及主键;
- SQL知识点框架:表的加法、表的联结(交叉联结、内联结、左联结、右联结和全联结)、联结应用案例和case表达式;
- 实操截图:与知识点一一对应,从实践中不断得到提升;
下图是本期SQL语句所涉及的4张报表,别看表格很小,其实能量巨大,真实业务场景会涉及更多报表以及海量数据,两者的本质一样,区别在于数据量的多寡。倘若能够把4张报表实操顺溜,那么日后遇到巨量数据也不怕不怕啦~
如果问你,人生中到达学习巅峰的时刻是在什么时候?或许绝大多数人都会回答是高考的那三天,毫无疑问,三年乃至更多的朝朝暮暮勤奋苦读都是为了那三天。那如果再问你,在高中数学里让你印象深刻的知识点有哪些?或许我猜很多人会说还给老师了,哈哈,这是玩笑话,对于我,我印象深刻的是老师讲解集合的文氏图。对,就是那个图像化显示交并补的矩形框、圆形和阴影斜线的文氏图(又叫韦恩图)。
或许你已猜到,我隔着千山万水要唤醒你对’文氏图’的记忆是为什么,对,和今天SQL中的多表联结有关。
因为本期内容知识点较多,整个框架截图会有一种看着囫囵吞枣的感觉,所以,我会针对每个知识点单独拎出,同时搭配习题。
一. 表的加法:同表相加成大表,union和union all要分清 ,复制功能不要忘
二. 表的联结:思考清楚表格之间属于什么联结,再动手写sql语句
1. 交叉联结: 各联结的鼻祖
2. 内联结:共同拥有
3. 左联结:左是老大,都听它的
4. 右联结:右是老大,都听它的
5. 全联结:你有我有全都有
6. 联结那么多种,该如何选择对呢?
当实际业务工作中需要生成固定的表单或需要某张表的数据时候,可以选择左或右联结,其余都是内联结
三. 联结应用案例:遇到业务问题莫要慌,牢记解题思路定心神
四. case表达式:哈哈哈!我是sql中的if函数也
表格虽千变万化,但万变不离其宗的是彼此之间的关系,在关系的判断上要做到火眼金睛。Case表达式第一眼就让我想到了excel中的if函数,这说明工具之间的知识点是相通的,关键是要玩的溜。Sql真是一个神奇的技能,如果要让技能熟练,那就离不开操练,加油!