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

备考刷题,请到

CDA认证小程序

SQL中有许多连接查询关键字,可以完成不同业务需求下的合并查询,下面哪些查询关键字能保留被连接两表的全部信息()
A. inner join
B. left join
C. full join
D. union all
上一题
下一题
收藏
点赞
评论
题目解析
题目评论(0)

正确答案是:C: full join 和 D: union all。

### 专业分析:
1. **INNER JOIN**:
- **功能**: 仅返回两个表中满足连接条件的匹配行。
- **保留信息**: 只保留两个表中满足条件的匹配行,不保留不匹配的行。
- **示例**: `SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;`

2. **LEFT JOIN**:
- **功能**: 返回左表中的所有行,以及右表中满足连接条件的匹配行。对于右表中没有匹配的行,结果集中对应的列将包含NULL。
- **保留信息**: 保留左表的全部信息,但不保留右表中没有匹配的行。
- **示例**: `SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;`

3. **FULL JOIN**:
- **功能**: 返回左表和右表中的所有行。对于没有匹配的行,结果集中对应的列将包含NULL。
- **保留信息**: 保留被连接的两表的全部信息,包括匹配和不匹配的行。
- **示例**: `SELECT * FROM table1 FULL JOIN table2 ON table1.id = table2.id;`

4. **UNION ALL**:
- **功能**: 返回两个查询结果的并集,包括所有重复的行。
- **保留信息**: 保留两个查询结果的全部信息,不去重。
- **示例**: `SELECT * FROM table1 UNION ALL SELECT * FROM table2;`

### 总结:
- **FULL JOIN** 保留两个表的全部信息,包括匹配和不匹配的行。
- **UNION ALL** 保留两个查询结果的全部信息,包括所有重复的行。

所以,正确答案是 C: full join 和 D: union all。