SQL查询实例:从基础到高级操作
需积分: 0 61 浏览量
更新于2024-12-04
收藏 62KB DOC 举报
"这些SQL查询示例展示了在数据库操作中如何使用SQL语句来获取特定信息,涵盖了子查询、联接、聚合函数、条件过滤等多个重要概念。"
1. SQL查询"001"课程成绩高于"002"课程的学生学号:
这个查询使用了子查询,首先分别获取了"001"和"002"课程的成绩,然后通过比较这两个子查询的结果找出成绩更高的学生。这里涉及到子查询嵌套和条件筛选。
2. 查询平均成绩大于60分的学生学号和平均成绩:
这个查询利用了`GROUP BY`和`HAVING`子句,先按学生学号分组,再计算每个学生的平均成绩,最后筛选出平均成绩大于60分的学生。`AVG()`函数用于计算平均值。
3. 获取所有学生的学号、姓名、选课数和总成绩:
这个查询采用了左连接(`LEFT OUTER JOIN`),将学生表与成绩表连接,通过`COUNT()`和`SUM()`函数统计每个学生的选课数和总成绩。`GROUP BY`用于按学号和姓名分组。
4. 统计姓“李”的老师数量:
此查询使用了`LIKE`关键字进行模糊匹配,配合`COUNT(DISTINCT())`统计不同姓“李”的老师数量。
5. 查找未学过“叶平”老师课程的学生学号和姓名:
这个查询首先通过内连接找出所有上过“叶平”老师课程的学生,然后使用`NOT IN`操作符排除这些学生,得到未学过“叶平”老师课程的学生列表。
6. 查询同时学过“001”和“002”课程的学生学号和姓名:
这个查询结合了`EXISTS`子句,先找出学过“001”课程的学生,然后检查这些学生是否存在“002”课程的记录。
7. 查找学过“叶平”老师所有课程的学生学号和姓名:
此查询使用`IN`操作符配合子查询,找出所有上过“叶平”老师课程的学生,即所有课程的学号都在“叶平”老师教授的课程学号列表内的学生。
8. 查询每门课程的最高分和最低分:
可以使用`GROUP BY`和`MIN()`、`MAX()`函数,按课程编号分组,分别找出每个课程的最低分和最高分。
9. 查询每门课程的及格率:
可以计算出每个课程成绩大于等于60分的学生人数占总人数的比例,这需要`COUNT()`函数配合`WHERE`子句筛选及格学生,再除以总的选课人数。
10. 查询各科成绩的中位数:
计算中位数通常需要排序和分组,可以先按课程编号和成绩排序,然后根据学生人数是奇数还是偶数来确定中位数的位置。
这些例子涵盖了SQL查询的基础到进阶用法,对于理解SQL语言的功能和实际应用非常有帮助。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2022-09-19 上传
2021-09-29 上传
2022-09-19 上传
2022-09-24 上传
2021-08-12 上传
2014-04-03 上传
a350752425
- 粉丝: 54
- 资源: 2134
最新资源
- R语言中workflows包的建模工作流程解析
- Vue统计工具项目配置与开发指南
- 基于Spearman相关性的协同过滤推荐引擎分析
- Git基础教程:掌握版本控制精髓
- RISCBoy: 探索开源便携游戏机的设计与实现
- iOS截图功能案例:TKImageView源码分析
- knowhow-shell: 基于脚本自动化作业的完整tty解释器
- 2011版Flash幻灯片管理系统:多格式图片支持
- Khuli-Hawa计划:城市空气质量与噪音水平记录
- D3-charts:轻松定制笛卡尔图表与动态更新功能
- 红酒品质数据集深度分析与应用
- BlueUtils: 经典蓝牙操作全流程封装库的介绍
- Typeout:简化文本到HTML的转换工具介绍与使用
- LeetCode动态规划面试题494解法精讲
- Android开发中RxJava与Retrofit的网络请求封装实践
- React-Webpack沙箱环境搭建与配置指南