数据库查询语言(DML)练习:课程表与学生信息分析
需积分: 37 88 浏览量
更新于2024-07-12
收藏 261KB PPT 举报
本资源是一个关于数据库查询语言(DML)的练习题目,主要涉及SQL语句的使用。课程表(course)包含课程编号(cno)、课程名称(cname)和授课教师编号(tno)。练习提供了四张表格的数据,包括学生信息表(student)、老师信息表(teacher)、课程表(course)和成绩表(score),用于编写和执行SQL查询。
1. 查询student表中所有记录的sname、sex和class列:
```sql
SELECT sname, sex, class FROM student;
```
2. 显示教师所有的单位,即不重复的depart列:
```sql
SELECT DISTINCT depart FROM teacher;
```
3. 显示student表的所有记录:
```sql
SELECT * FROM student;
```
4. 显示score表中成绩在60到80之间的所有记录:
```sql
SELECT * FROM score WHERE degree BETWEEN 60 AND 80;
```
5. 显示score表中成绩为85,86或88的记录:
```sql
SELECT * FROM score WHERE degree IN (85, 86, 88);
```
6. 显示student表中“95031”班或性别为“女”的同学记录:
```sql
SELECT * FROM student WHERE class = '95031' OR sex = '女';
```
7. 以class降序显示student表的所有记录:
```sql
SELECT * FROM student ORDER BY class DESC;
```
8. 以cno升序、degree降序显示score表的所有记录:
```sql
SELECT * FROM score ORDER BY cno ASC, degree DESC;
```
9. 显示“98031”班的学生人数:
```sql
SELECT COUNT(*) FROM student WHERE class = '98031';
```
10. 显示score表中的最高分的学生学号和课程号:
```sql
SELECT sno, cno FROM score WHERE degree = (SELECT MAX(degree) FROM score);
```
11. 显示“3-105”号课程的平均分:
```sql
SELECT AVG(degree) FROM score WHERE cno = '3-105';
```
12. 显示score表中至少有5名学生选修的并以3开头的课程号的平均分数:
```sql
WITH subquery AS (
SELECT cno, COUNT(*) AS student_count
FROM score
GROUP BY cno
HAVING COUNT(*) >= 5 AND cno LIKE '3%'
)
SELECT AVG(score.degree) FROM score
JOIN subquery ON score.cno = subquery.cno;
```
13. 显示最低分大于70,最高分小于90的sno列:
```sql
SELECT sno FROM (
SELECT sno, MIN(degree) AS min_degree, MAX(degree) AS max_degree
FROM score
GROUP BY sno
) subquery
WHERE min_degree > 70 AND max_degree < 90;
```
14. 显示所有学生的sname、cno和degree列:
```sql
SELECT sname, cno, degree FROM student
JOIN score ON student.sno = score.sno;
```
15. 显示所有学生的sname、cname和degree:
```sql
SELECT sname, cname, degree FROM student
JOIN score ON student.sno = score.sno
JOIN course ON score.cno = course.cno;
```
以上是针对给定练习题目的SQL查询语句及其解释,涵盖了基本的查询、聚合函数、条件过滤、排序以及子查询等多种SQL操作。通过这些练习,可以巩固和提升对SQL语言的理解和应用能力。
2021-10-14 上传
421 浏览量
2015-11-27 上传
点击了解资源详情
2021-05-17 上传
2011-05-25 上传
2014-08-22 上传
2024-07-15 上传
2020-06-06 上传
冀北老许
- 粉丝: 17
- 资源: 2万+
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程