导入
连接简介
学习连接(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列。换句话说,每一条订单项始终关联到一个具体的产品。