当前位置:
首页 >
查询去除空值_SQL数据处理(五):SQL多表查询
发布时间:2024/7/5
52
豆豆
生活随笔
收集整理的这篇文章主要介绍了
查询去除空值_SQL数据处理(五):SQL多表查询
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
一. 表的加法
加法(union)。合并两张数据表course和course1/去除重复行重合
【select 课程号,课程名称 from course union select 课程号,课程名称 from course1;】 输出结果两个表合并的数据若要保留重复的行数据(union all)
【select 课程号,课程名称 from course union all select 课程号,课程名称 from course1;】 输出结果两个表合并的数据,保留重复数据二. 表的联结
2.1 交叉联结(cross jion):笛卡尔积指将表中的每一行逗鱼另一个表中的每一行合并在一起
例如课程表(crouse)和课程表1(crouse1)进行交叉联结得到6行数据
2.2 内联结(inner jion):
- 学生表与成绩表通过学号进行内联结合并为一张表
2.3 左联结(left jion):
-- 学生表与成绩表通过学号进行左联结合并为一张表
【select a.学号,a.姓名,b.课程号 from student as a left join score as b on a.学号 = b.学号;】 输出结果 0001=李彦宏=0001、0001=李彦宏=0002、0002=李彦宏=空值获取因为左联结忽略的数据
【select a.学号,a.姓名,b.课程号 from student as a left join score as b on a.学号 = b.学号 where 课程号 is Null;】 输出结果0002=李彦宏=空值2.4 右联结(right jion):
-- 学生表与成绩表通过学号进行右联结合并为一张表
【select a.学号,a.姓名,b.课程号 from student as a right join score as bon a.学号 = b.学号 where b.学号 = Null;】 输出结果 0001=李彦宏=0001、0001=李彦宏=0002、空值=空值=0003获取因为右联结忽略的数据
【select a.学号,a.姓名,b.课程号 from student as a right join score as b on a.学号 = b.学号 where a.学号 is Null;】 输出结果空值=空值=课程号2.5 全联结(full jion):
三. 联结应用案例
- 查询所有学生的学号,姓名,选课数,总成绩
- 查询平均成绩大于60的所有学生的学号、姓名和平均成绩
- 查询学生的选课情况:学号,姓名,选课号,课程名称
四. case表达式
4.1 定义:
使用case表达式可以解决复杂的条件判断,用来判断每一行数据是否满足指定条件
case when <判断表达式> then <表达式>when <判断表达式> then <表达式>when <判断表达式> then <表达式>......else <表达式> end若满足“when判断表达式”条件则执行“then表达式”,若不满足则执行下一个“when判断表达式”。若不满足所有的“when判断表达式”则执行“else表达式”
4.2 注意事项
4.3 练习题
- 定义成绩数据表中的成绩数据是否及格
- 查询每门课程的及格人数和不及格人数
- 使用分段[100-85],(85-70],(70,60],(60,-]来统计各科成绩,分别统计:各分数段的人数,课程号,和课程名称
四. 联结总结
文氏图:SQL的联结形式
总结
以上是生活随笔为你收集整理的查询去除空值_SQL数据处理(五):SQL多表查询的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 【Python基础知识-pycharm版
- 下一篇: mysql正则表达式配置_G. MySQ