使用订单ID连接两表后,左表订单表为主表时,a01项一行,a02项一行,a03项两行,共4行连接结果
### 正确答案:**C. 4**
---
### 题目解析
#### 1. **理解表结构和连接方式**
- **订单表**(主表,3行):
| 单号 | 客户ID | 单金额 |
|------|--------|--------|
| a01 | 赵大 | 400 |
| a02 | 王二 | 600 |
| a03 | 赵大 | 800 |
- **订单详情表**(从表,3行):
| 单号 | 产品ID | 客户ID | 产品金额 |
|------|--------|--------|----------|
| a01 | aaa | 赵大 | 400 |
| a02 | bbb | 王二 | 600 |
| a03 | aaa | 赵大 | 400 |
| a03 | aaa | 赵大 | 400 |
- **连接方式**:左连接(`LEFT JOIN`),以**订单表**为基准,保留所有主表行,去匹配从表数据。
#### 2. **左连接结果分析**
- **单号 a01**:
- 订单表1行 + 订单详情表1行 → **1行**
- **单号 a02**:
- 订单表1行 + 订单详情表1行 → **1行**
- **单号 a03**:
- 订单表1行 + 订单详情表2行 → **2行**
- **总计**:
- 1+1+ 2 = **4行**
#### 3. **关键验证点**
- **重复数据**:单号a03在详情表中有2条记录,因此连接后生成2行。
- **左连接特性**:即使某些订单无详情(如假设a04无详情),也会保留主表行。
### 总结
- **左连接行数** = 主表行数 × 匹配的从表行数(按单号分组小计然后合计)。
- **答案:C. 4**