数据库实验:SQL查询操作与数据处理
需积分: 31 34 浏览量
更新于2024-09-11
收藏 1.07MB DOC 举报
"数据库上机实验题一"
本实验主要关注于数据库的查询操作,包括在已有数据库上执行建立查询、修改等任务。实验目的是让学生掌握SQL语言中的各种查询技术,例如单表查询、多表连接查询、嵌套查询,以及如何进行数据查询中的分组、统计、计算和组合操作。实验内容基于一个教学数据库,包含学生表(Student)、课程表(Course)和学生选课表(SC)三个表。
1. 查询SC表中所有选修了课程的学生学号,去除重复行:
使用`DISTINCT`关键字来消除重复的Sno,确保返回每个学生唯一一次。
SQL语句:
```sql
SELECT DISTINCT Sno
FROM SC;
```
2. 查询非信息系、数学系和计算机科学系的学生姓名和性别:
`NOT IN`操作符用于排除指定的值。在这个例子中,它用来筛选出不属于'CS'、'MA'或'IS'这三个系的学生。
SQL语句:
```sql
SELECT Sname, Ssex
FROM Student
WHERE Sdept NOT IN ('CS', 'MA', 'IS');
```
3. 按照系号升序、年龄降序查询所有学生信息:
`ORDER BY`语句用于排序结果。首先按照系号(Sdept)升序排列,然后在同一系内按照年龄(Sage)降序排列。
SQL语句:
```sql
SELECT *
FROM Student
ORDER BY Sdept ASC, Sage DESC;
```
4. 查询选修了3号课程的学生学号及其成绩,结果按分数降序排列:
在这个查询中,`WHERE`子句用于筛选Cno为'3'的记录,`ORDER BY`语句则按Grade降序排序。
SQL语句:
```sql
SELECT Sno, Grade
FROM SC
WHERE Cno = '3'
ORDER BY Grade DESC;
```
5. 检索至少选修了课程号为C2和C4的学生学号:
使用嵌套的`IN`查询,找出同时选修C2和C4课程的学生。
SQL语句:
```sql
SELECT Sno
FROM Student
WHERE Sno IN (
SELECT Sno
FROM SC
WHERE Cno = '2'
) AND Sno IN (
SELECT Sno
FROM SC
WHERE Cno = '4'
);
```
6. 查询每个学生的学号、姓名、选修的课程名及成绩:
这个查询通过`JOIN`操作将Student、SC和Course三张表关联起来,获取所需信息。
SQL语句:
```sql
SELECT Student.Sno, Sname, Cname, Grade
FROM Student
JOIN SC ON Student.Sno = SC.Sno
JOIN Course ON SC.Cno = Course.Cno;
```
7. 查询总学分超过6分的同学:
未提供具体的SQL语句,但可以通过聚合函数`SUM`和`GROUP BY`来实现。首先需要计算每个学生的所有课程的学分总和,然后筛选出总学分大于6的学生。
SQL语句示例:
```sql
SELECT Student.Sno, Sname, SUM(SC.Ccredit) AS TotalCredits
FROM Student
JOIN SC ON Student.Sno = SC.Sno
GROUP BY Student.Sno, Sname
HAVING TotalCredits > 6;
```
这些实验题涵盖了数据库查询的基础和进阶技巧,对于理解和掌握SQL语言非常有帮助。通过这些练习,学生可以提高在实际场景中运用SQL解决数据处理问题的能力。
2018-11-22 上传
2023-03-16 上传
2023-05-23 上传
2023-03-16 上传
2023-06-08 上传
2024-07-04 上传
2023-07-09 上传
一个帅小伙子
- 粉丝: 0
- 资源: 1
最新资源
- WPF渲染层字符绘制原理探究及源代码解析
- 海康精简版监控软件:iVMS4200Lite版发布
- 自动化脚本在lspci-TV的应用介绍
- Chrome 81版本稳定版及匹配的chromedriver下载
- 深入解析Python推荐引擎与自然语言处理
- MATLAB数学建模算法程序包及案例数据
- Springboot人力资源管理系统:设计与功能
- STM32F4系列微控制器开发全面参考指南
- Python实现人脸识别的机器学习流程
- 基于STM32F103C8T6的HLW8032电量采集与解析方案
- Node.js高效MySQL驱动程序:mysqljs/mysql特性和配置
- 基于Python和大数据技术的电影推荐系统设计与实现
- 为ripro主题添加Live2D看板娘的后端资源教程
- 2022版PowerToys Everything插件升级,稳定运行无报错
- Map简易斗地主游戏实现方法介绍
- SJTU ICS Lab6 实验报告解析