在连接两表的字段中有重复值且两个字段的值不是一对一匹配关系时,内连接的结果是把两表中都有的值列出来,并且将有重复值的地方进行多对多匹配。
要回答这个问题,我们需要分析两个表之间的关系,并根据给定的SQL查询语句进行匹配。
给定的SQL查询语句是:
```sql
select * from 客户表 inner join 订单表 on 客户表.员工id = 订单表.员工id
```
这条语句的意思是从`客户表`和`订单表`中选择所有字段,并根据`员工id`字段进行内连接。内连接会返回两个表中`员工id`匹配的所有行。
我们需要查看这两个表的数据:
- `客户表`中有4个记录,分别是员工id为1、2、3、4。
- `订单表`中有3个记录,分别是员工id为1、2、3。
通过内连接,我们将得到`客户表`和`订单表`中`员工id`匹配的所有行:
- `员工id`为1的记录匹配1次。
- `员工id`为2的记录匹配1次。
- `员工id`为3的记录匹配1次。
- `员工id`为4的记录在`订单表`中没有匹配项,因此不会出现在结果中。
因此,查询结果中应有3行数据。
所以,正确答案是:B: 3