什么是内联接和外联接

时间:2024-10-16 07:13:09

1、默认情况下, 满足匹配条件的两个表中的行都包含在联接中。可以指定包含联接中一个表中的所有行或其中一个行, 从而用 Null 填充缺少的匹配项。

什么是内联接和外联接
什么是内联接和外联接

2、office _ locations表包括一些在员工表中根本没有引用的行。这意味着, 不知什么原因, 公司目前有一个办公室空无一人。下图的结果没有提到该位置。

什么是内联接和外联接
什么是内联接和外联接

3、在查询的 JOIN 子句中, 如果改为指定 "左外部联接", 茸垂扌馔则结果将包括查询左侧的所有行, 为右侧没有匹配的 Nul 填充 Null, 反之亦然, 对于右外联接。清单显示了一个具有正确外部联接的查询, 用于匹配员工和 office _ location:SELECT employees.name,office_locations.location_nameFROM employeesRIGHT OUTER JOIN office_locationsON employees.office_location_id = office_locations.office_location_id

什么是内联接和外联接

4、此查询返回每个location_ name 的条目, 而不考虑该位置是否有趋濞曛逖员工:SELECT employees.name,office_locations.location_n锾攒揉敫ameFROM employeesleftOUTER JOIN office_locationsON employees.office_location_id = office_locations.office_location_id

什么是内联接和外联接

5、也可以同时执行左右联接;在两个表中填写不匹配的 null, 并使用语法 "FULL OUTER JOIN"。这不适用于员工和 office _location之间的联接, 因为 office _ location_ id 是一种外键关系: 不可能让员工在数据库中不存在的位置工作。

什么是内联接和外联接
什么是内联接和外联接

6、下图显示了两个表上的联接之间的差异。

什么是内联接和外联接
© 手抄报圈