考试报名
考试报名
考试内容
考试大纲
在线客服
返回顶部

备考刷题,请到

CDA认证小程序

使用“select * from 表 1 inner join 表 2 on 表 1.员工 id = 表 2.员工id”语句对下边两个表进行查询, 查询结果中应有几行数据
A. 2
B. 3
C. 4
D. 5
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(5)

当两个的对应关系为多对多的关系,即在连接两表的字段都有重复值时,内连接的结果只显示两表中满足条件的记录。

要回答这个问题,我们需要分析两个表之间的连接情况。假设表1和表2的结构如下:

表1:
| 员工id | 员工姓名 |
|--------|----------|
| 1 | 张三 |
| 2 | 李四 |
| 3 | 王五 |
| 4 | 赵六 |

表2:
| 员工id | 部门 |
|--------|----------|
| 1 | 销售部 |
| 2 | 技术部 |
| 3 | 财务部 |
| 5 | 市场部 |

查询语句为:
```sql
select * from 表1 inner join 表2 on 表1.员工id = 表2.员工id
```

inner join(内连接)的结果是返回两个表中匹配的行。也就是说,只有当表1和表2中的员工id相同时,才会出现在结果集中。

通过对比两个表中的员工id,我们发现:
- 表1中的员工id有:1, 2, 3, 4
- 表2中的员工id有:1, 2, 3, 5

匹配的员工id为:1, 2, 3

因此,查询结果中应有3行数据,对应的员工id分别是1、2和3。

正确答案是:B: 3

专业分析:
1. inner join只返回两个表中匹配的行。
2. 通过对比两个表的员工id,找出匹配的员工id。
3. 计算匹配的员工id的数量,即为查询结果的行数。

用户126480
应该是3行
用户93463
是4个,左表的2个a01分别对应右表的2个a01,拼起来4行
用户93463
答案错了吧?
用户103101
正确答案是啥
用户87602
答案有错误