当前位置:   article > 正文

数据库21:外连接查询(头歌云课)_数据库头歌外连接查询

数据库头歌外连接查询


任务描述

本关任务:使用左连接和右连接多表查询方法,检索数据表中的指定内容。

相关知识

为了完成本关任务,你需要掌握:

  1. 如何使用左连接查询的方法查询多表数据;
  2. 如何使用右连接查询的方法查询多表数据。

有的时候,我们不仅想知道在两张表中,什么内容是可以匹配查询到的。还想知道那些没有被关联到的内容是什么?比如在百货公司里,我们不仅想知道哪些商品被顾客买走了,还想知道那些没有买走的东西是什么,以调整将来的供货策略。

左连接

左连接以左表为基础,显示左表中的所有记录:

显示的记录条数 = 左表中记录的条数

再用左表中的指定列,来和右表中的指定列比较。满足,则输出值;不满足,则输出 NULL。

举个例子

如果你有两张表,分别为表 student 和表 class ,要查出每个学生所对应的班级名称,用左连接应该怎么做?

输入:

  1. SELECT *
  2. FROM student left join class
  3. ON student.class_id = class.class_id

输出:

在这里,左表的第 4 条记录并没有匹配到右表的任何内容,所以右表的相应内容显示为 NULL 。

检索过程:

右连接

右连接与左连接正好相反,右连接以右表为基础,显示右表中的所有记录:

显示的记录条数 = 右表中记录的条数

再用右表中的指定列,来和左表中的指定列比较。满足,则输出值;不满足,则输出 NULL。

举个例子 如果你想连接表 student 和表 class 查询每个学生所对应的班级名称,用右连接应该怎么做?会与左连接查询有多大的区别呢?

输入:

  1. SELECT *
  2. FROM student right join class
  3. ON student.class_id = class.class_id

输出:

在这里,右表的第 4 条记录并没有匹配到左表的任何内容,所以左表的相应内容显示为 NULL 。

检索过程:

全连接

全连接类似于左连接和右连接的综合:

显示记录的条数 = 指定比较字段在两个表中的不同种类数

对于空余字段,则显示 NULL 。也就是说,它能返回两个表中所有的关联信息,以及所有没有被关联到的信息

举个例子 我们现在用全连接查询方法,连接表 student 和表 class,查询每个学生所对应的班级名称:

输入:

  1. SELECT *
  2. FROM student full join class
  3. ON student.class_id = class.class_id

输出:

检索过程:

编程要求

我们已经为你建好了数据库与数据表,并添加了相应的数据内容。你只需根据提示,在右侧 Begin-End 区域内补充代码,分别用左连接右连接关联表 Products 和表 Vendors。

表 Products 和表 Vendors 的内容如下图所示:

测试说明

  • 本关涉及到的测试文件是 step3_test.sh,平台将运行用户补全的 step3.sql 文件,得到数据;

  • 将得到的数据与答案比较,判断代码是否正确。

如果操作正确,你将得到如下的结果:


开始你的任务吧,祝你成功!

实验代码

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/空白诗007/article/detail/783020
推荐阅读
相关标签
  

闽ICP备14008679号