一、表结构数据的数据结构
跟数据库数据结构一样。
- 层级关系 :数据库的构成自内向外分为字段、数据表和数据库三个层级。字段的集合构成数据表,数据表的集合构成数据库。
- 字段组成:
- 标题行:字段的第一行信息,用于标识字段,称为字段名(如"姓名"、"年龄"、"性别")
- 记录:从第二行开始到最后一行,记载字段内的具体数据内容
- 示例说明:销售业务数据库包含员工属性表(有姓名、年龄、性别等字段)、产品属性表、销售业绩表等多个数据表

二、横向合并数据
1、基本概念
- 定义:将副表中主表没有的字段信息合并到主表,类似于Excel的VLOOKUP函数
- 表角色:
- **主表:**存放最终合并结果的表
- **副表:**为主表提供补充信息的表
- 关键字段要求:
- 主副表都必须包含该字段
- 字段值能相互对应(字段名可以不同)
- 理想情况应无重复值且能一一对应

2、注意事项
- 非一一对应情况:当关键字段值不是一一对应时,不同联接种类会产生不同结果
- 重复值影响:关键字段有重复值时,合并后总行数为各表重复出现次数的乘积(如主表重复2次×副表重复2次=4行结果)
- 连接种类:
- 内部连接:仅保留两表都匹配的行
- 左外部连接:保留左表所有行和右表匹配行(老版本Power Query默认)
3、演示合并方法
操作步骤:
- 新建Excel文件,在"数据"选项卡下选择"新建查询"
- 从工作簿导入包含"商机记录"和"商机相关企业信息"两个工作表的数据
- 将两个表都加载为Power Query中的表





- 在Power Query编辑器中选择主表(商机记录)
- 在"开始"选项卡下点击"合并查询"
- 选择副表(商机相关企业信息)
- 分别选择两表中的客户ID作为关键字段
- 选择连接种类(演示中使用内部连接)

这里和MySQL的join查询一样,不再赘述。
这里显示是Table类型
字段展开:
- 点击新生成字段的展开箭头
- 选择"扩展"并勾选需要的字段
- 可取消"使用原始列名作为前缀"避免字段名过长
结果特点:
内部连接只保留8行两表都匹配的记录(原主表26行,副表24行)

展开了😄

也可以自己选

则只显示所需字段

点击"关闭并上载"生成最终合并表

结果验证:新表包含主表原有字段和从副表合并来的客户名称、城市、企业规模等补充信息

三、左外部连接操作演示
- 数据组成:包含三个工作表:学员信息表、学员成绩表和合并结果表
- 信息表结构 :
- 学员信息表:学号、学员姓名、年龄(3个字段)
- 学员成绩表:学号、成绩(2个字段)
- 数据匹配与合并目标
- 关键字段:通过学号字段进行表间匹配
- 合并目标:将学员成绩表中的成绩信息合并到学员信息表中,生成包含学号、姓名、年龄和成绩的完整信息表
重复值特征:
- 学员信息表:学号a重复2次(黄色标记)
- 学员成绩表:学号a重复2次(黄色标记)
缺失值特征:
- 学号e:仅在信息表存在(蓝色标记)
- 学号f:仅在成绩表存在(绿色标记)
左外部连接逻辑
连接原则:
- 保留左表(学员信息表)所有记录
- 右表(成绩表)匹配记录显示实际值,无匹配显示空值
重复值处理:
- 连接结果行数=左表重复次数×右表重复次数
- 示例:学号a在两边各重复2次→结果生成4条记录(2×2)
操作过程

具体结果:
- a(赵大):4条记录(成绩均为50)
- b(钱二):1条记录(成绩60)
- c(张三):1条记录(成绩70)
- d(李四):1条记录(成绩80)
- e(王五):1条记录(成绩为空)
总行数计算:
4(a)+1(b)+1(c)+1(d)+1(e)=8行


四、纵向合并数据
1、基本概念
- 定义: 纵向合并是指在现有数据基础上向下添加新记录的操作,与横向合并(添加新字段)形成对比。
- 合并流程:
- 相同字段合并:将有相同字段名的字段纵向合并到一起
- 不同字段追加:将不同字段名的字段追加在最后
- 非匹配处理:非匹配字段标记为"null"值
- 示例说明:
- 主表包含"关键字段"和"数值"字段
- 副表包含"关键字段"和"大写字母"字段
- 合并后:"关键字段"合并显示,数值和大写字母分列显示,非匹配部分填充null值

2、演示纵向合并方法
导入步骤:
- 新建空Excel文件
- 通过"数据"→"从工作簿"导入演示数据
- 选择需要合并的表1和表2
标题行处理:
- 判断逻辑:Excel根据第一行与后续行数据类型是否一致决定是否添加标题行
- 不一致处理:若第一行与后续行数据类型不完全一致,保留原始标题行
- 一致处理:若完全一致,自动添加Column1/2等默认标题行


标题行修正:
- 在"转换"功能组选择"将第一行用作标题"
- 双击字段名单元格可修改字段名称


追加查询操作
- 选中主表(表1)
- 在"开始"→"合并"功能组选择"追加查询"
- 选择要追加的表(表2)
- 点击确定完成合并

字段名匹配技巧:
- 修改副表字段名与主表一致可使数据合并到同一列
- 示例:将"大写字母"改为"数值"可使字母追加到数字下方


数据类型注意:
- 字段只能有一种数据类型
- 合并不同数据类型字段时,会统一为更包容的类型(如文本型优先于数值型)
结果特征:
- 相同字段名数据纵向堆叠
- 不同字段名数据并列显示
- 非匹配区域自动填充null值
数据类型变化:
- 数值型与文本型合并后统一转为文本型
- 因文本型数据无法转换为数值型
五、知识小结
|-------------|--------------------------------------------------|---------------------------------------------|----------------------|
| 知识点 | 核心内容 | 操作要点/易错点 | 应用场景 |
| 表结构数据概念 | 数据库构成关系:字段→数据表→数据库; 字段组成:字段名(标题行)+记录(数据行) | 字段名必须唯一,记录可重复; 数据类型需统一 | 数据库设计基础; 数据建模前提 |
| 横向合并 | 主表+副表通过关键字段匹配; 类似Excel的VLOOKUP功能 | 关键字段要求: 1. 两表均有且值能对应; 2. 最好无重复值; 3. 字段名可不相同 | 补充主表缺失字段; 构建完整业务视图 |
| 连接种类 | - 左外部:主表全保留+副表匹配; - 内部:仅两表匹配行; - 重复值处理:行数=重复次数乘积 | 典型错误:未选关键字段导致错误匹配; 忽略重复值造成数据膨胀 | 数据清洗; 多源数据整合 |
| 横向合并操作 | 1. 选中主表→合并查询; 2. 选择副表和关键字段; 3. 展开合并字段选择列 | 关键步骤: - 展开时取消冗余字段; - 注意字段名前缀选项 | 销售记录补全客户信息; 订单关联产品详情 |
| 纵向合并规则 | 1. 同名字段纵向拼接; 2. 不同字段追加列; 3. 非匹配字段标空值 | 数据类型冲突:文本型会覆盖数值型; 需预先统一字段名 | 多期数据合并; 分支机构报表汇总 |
| 重复值影响 | 主副表关键字段重复时: - 左外部:保留所有组合; - 内部:仅交集组合 | 示例: 2个重复值×2个=4行结果 | 需提前去重或; 接受合理数据冗余 |
| 字段命名规范 | 纵向合并依赖字段名匹配; 修改字段名可改变合并结果 | 最佳实践: 合并前统一关键字段名称 | 异构系统数据对接; 历史数据迁移 |