Logo
Section 1 / 12

连接简介

学习连接(joins)和子查询的基础知识。

导入

连接简介

学习连接(joins)和子查询的基础知识。

在本章中,我们将学习 join 子句及其如何合并存在于多个表中的信息。我们可以为列标题添加标签,使这些标题更易于阅读。我们将选择显示宽结果集中的特定列,并通过统计不重复值来获得准确的计数结果。我们还将了解左连接(left join)的概念,即使第一张表中的行没有对应第二张表的行,也能将两张表的信息进行合并。

我们将深入探讨“无值”这一概念在 SQL 中的表示方式。同时,即使 SQL 查询涉及多个表,我们也可以仅限于显示某一表的列。我们还将展示一个动态计算的列,并最终学习 sum() 聚合函数以及 group by 子句的使用。

customers_db 数据库的模式

让我们再次回顾一下 customers_db 数据库的数据库结构。

...
Database schema of customers_db

上述模式包含以下信息:

  • customers 表与 orders 表之间存在一对多关系。orders 表中包含 customer_id,它是 customers 表中 id 列的外键。因此,一个客户可以拥有多个订单。
  • orders 表与 order_items 表之间也存在一对多关系。order_items 表记录了订单的详细信息。
  • order_items 表包含外键(order_id 列),指向 orders 表的 id 列。因此,每一条订单项都明确归属于某一个订单。此外,订单项还包含外键(product_id),指向 products 表的 id 列。换句话说,每一条订单项始终关联到一个具体的产品。

外键

删除不必要的数据