SQL单表查询实例:并集、交集与差集操作详解
160 浏览量
更新于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 上传
2021-10-12 上传
2019-02-18 上传
2021-10-07 上传
2022-07-13 上传
2019-03-18 上传
2019-03-28 上传
weixin_38692043
- 粉丝: 9
- 资源: 947
最新资源
- IEEE 14总线系统Simulink模型开发指南与案例研究
- STLinkV2.J16.S4固件更新与应用指南
- Java并发处理的实用示例分析
- Linux下简化部署与日志查看的Shell脚本工具
- Maven增量编译技术详解及应用示例
- MyEclipse 2021.5.24a最新版本发布
- Indore探索前端代码库使用指南与开发环境搭建
- 电子技术基础数字部分PPT课件第六版康华光
- MySQL 8.0.25版本可视化安装包详细介绍
- 易语言实现主流搜索引擎快速集成
- 使用asyncio-sse包装器实现服务器事件推送简易指南
- Java高级开发工程师面试要点总结
- R语言项目ClearningData-Proj1的数据处理
- VFP成本费用计算系统源码及论文全面解析
- Qt5与C++打造书籍管理系统教程
- React 应用入门:开发、测试及生产部署教程