数据库School设计及SQL查询示例 - 学生、课程和选修关系
数据库School设计及SQL查询示例
本文将介绍数据库School的设计,以及一些常用的SQL查询示例。
数据库表结构
数据库School包含三个表:
-
学生表Student
- 学号 (Sno) char(3)
- 姓名 (Sname) char(4)
- 性别 (Ssex) char(2)
- 年龄 (Sage) int
- 系别 (Sdept) char(6)
-
课程表Course
- 课程号 (Cno) char(3)
- 课程名 (Cname) char(8)
- 任课教师 (teacher) char(4)
-
选修表SC
- 学号 (Sno) char(3)
- 课程号 (Cno) char(3)
- 分数 (Grade) int
SQL查询示例
以下是一些常用的SQL查询示例:
- 查询男生的选课记录
SELECT Student.Sno, Student.Sname, Course.Cname, SC.Grade
FROM Student, Course, SC
WHERE Student.Sno = SC.Sno AND Course.Cno = SC.Cno AND Student.Ssex = '男';
- 查询选修了操作系统的学生姓名及系名
SELECT Student.Sname, Student.Sdept
FROM Student, Course, SC
WHERE Student.Sno = SC.Sno AND Course.Cno = SC.Cno AND Course.Cname = '操作系统';
- 查询张三同学选修的所有课程的名称及其成绩
SELECT Course.Cname, SC.Grade
FROM Student, Course, SC
WHERE Student.Sno = SC.Sno AND Course.Cno = SC.Cno AND Student.Sname = '张三';
- 查询计算机和数学专业学生所选修的课程详细信息,即课程号,课程名和任课教师
SELECT Course.Cno, Course.Cname, Course.teacher
FROM Student, Course, SC
WHERE Student.Sno = SC.Sno AND Course.Cno = SC.Cno AND (Student.Sdept = '计算机' OR Student.Sdept = '数学');
- 查询女生所选修课程的平均成绩
SELECT Course.Cname, AVG(SC.Grade)
FROM Student, Course, SC
WHERE Student.Sno = SC.Sno AND Course.Cno = SC.Cno AND Student.Ssex = '女'
GROUP BY Course.Cname;
以上示例展示了数据库School中常用的SQL查询,您可以根据需要进行修改和扩展。
原文地址: https://www.cveoy.top/t/topic/odY0 著作权归作者所有。请勿转载和采集!