SQL单表查询实例:并集、交集与差集操作详解
27 浏览量
更新于2024-08-30
收藏 57KB PDF 举报
在SQL数据查询中,单表查询是基础操作,特别是当涉及到集合查询时,理解并操作UNION、INTERSECT和EXCEPT是至关重要的。这些集合操作符用于合并、筛选或排除查询结果中的重复元素,使得数据检索更加灵活和精确。
1. **并操作 (UNION)**: UNION 是用来合并两个或更多 SELECT 查询的结果集,返回的是所有不同记录的集合,去除了重复项。例如,当你想要查找年龄小于等于19岁的学生以及CS系的学生时,可以分别执行两个查询并用 UNION 合并:
```sql
SELECT * FROM Student WHERE Sage <= 19
UNION
SELECT * FROM Student WHERE Sdept = 'CS'
```
这里,`OR` 表示逻辑上的并集,而 `UNION` 实际上达到了同样的效果,即合并两个查询结果,只显示不重复的数据。
2. **交操作 (INTERSECT)**: INTERSECT 操作返回两个查询结果集中都存在的非重复记录。例如,要找出既年龄不大于19岁又为CS系的学生,可以这样写:
```sql
SELECT * FROM Student WHERE Sage <= 19 AND Sdept = 'CS'
```
或者使用 INTERSECT 来确保两个条件同时满足:
```sql
SELECT * FROM Student WHERE Sage <= 19
INTERSECT
SELECT * FROM Student WHERE Sdept = 'CS'
```
3. **差操作 (EXCEPT)**: EXCEPT 与 INTERSECT 相反,它返回第一个查询结果中但不在第二个查询结果中的记录。这意味着它排除了第二个查询中包含的记录。例如,如果你想查看除了CS系外其他所有系的学生,可以这样做:
```sql
SELECT * FROM Student WHERE Sage <= 19
EXCEPT
SELECT * FROM Student WHERE Sdept = 'CS'
```
在实际应用中,比如在“教学管理”数据库JXGL中,这些集合操作可以用来查询学生选课情况,如查找某个学生的所有选课记录,或者找出某个课程被哪些系的学生选修等。通过组合这些操作,可以更精细地控制数据的筛选和汇总,提高查询效率和数据一致性。
2020-12-14 上传
2012-10-26 上传
2023-05-10 上传
2023-04-18 上传
2023-04-11 上传
2023-05-31 上传
2023-05-31 上传
2024-11-05 上传
2023-03-10 上传
weixin_38692043
- 粉丝: 9
- 资源: 947
最新资源
- JHU荣誉单变量微积分课程教案介绍
- Naruto爱好者必备CLI测试应用
- Android应用显示Ignaz-Taschner-Gymnasium取消课程概览
- ASP学生信息档案管理系统毕业设计及完整源码
- Java商城源码解析:酒店管理系统快速开发指南
- 构建可解析文本框:.NET 3.5中实现文本解析与验证
- Java语言打造任天堂红白机模拟器—nes4j解析
- 基于Hadoop和Hive的网络流量分析工具介绍
- Unity实现帝国象棋:从游戏到复刻
- WordPress文档嵌入插件:无需浏览器插件即可上传和显示文档
- Android开源项目精选:优秀项目篇
- 黑色设计商务酷站模板 - 网站构建新选择
- Rollup插件去除JS文件横幅:横扫许可证头
- AngularDart中Hammock服务的使用与REST API集成
- 开源AVR编程器:高效、低成本的微控制器编程解决方案
- Anya Keller 图片组合的开发部署记录