SQL数据库实战:创建与查询四表关联练习
需积分: 21 194 浏览量
更新于2024-09-07
收藏 84KB DOC 举报
在本次SQL练习题中,我们将涉及一个包含四个基本表的数据库设计:学生表(Student)、课程表(Course)、成绩表(Score)和教师信息表(Teacher)。这些表的结构和数据对初学者来说是很好的实战演练材料,有助于理解SQL的基本操作和关系数据库的概念。
首先,我们来看一下各个表的结构:
1. **学生表(Student)**:
- 主键:Sno(3位字符,不能为空)
- 学生姓名:Sname(8位字符,不能为空)
- 性别:Ssex(2位字符,不能为空)
- 出生日期:Sbirthday(日期时间类型,可以为空)
- 所在班级:Class(5位字符,可以为空)
2. **课程表(Course)**:
- 主键:Cno(5位字符,不能为空)
- 课程名称:Cname(10位变长字符串,不能为空)
- 教师编号:Tno(3位字符,不能为空,作为外键引用Teacher表)
3. **成绩表(Score)**:
- 外键:Sno(引用Student表的Sno,不能为空)
- 外键:Cno(引用Course表的Cno,不能为空)
- 成绩:Degree(4位小数,1位小数,可以为空)
- 主键:Sno+Cno,复合主键
4. **教师信息表(Teacher)**:
- 主键:Tno(3位字符,不能为空)
- 教工姓名:Tname(4位字符,不能为空)
- 性别:Tsex(2位字符,不能为空)
- 出生日期:Tbirthday(日期时间类型,可以为空)
- 职称:Prof(6位字符,可以为空)
- 所在部门:Depart(10位变长字符串,不能为空)
接下来是一些SQL操作练习题示例,包括但不限于:
- 插入和查询学生信息,如查找所有男生或女生的信息。
- 描述性查询,如找出某门课程的所有学生及其成绩。
- 更新操作,如修改某个学生的成绩。
- 删除记录,如删除某个特定课程的所有成绩记录。
- 连接表查询,如获取特定班级的学生列表及他们所选课程的教师信息。
- 分组统计,如计算每个课程的平均成绩。
- 子查询和嵌套查询,如找出任课教师的年龄最大的课程。
通过这些练习,学习者将能够掌握SQL的基本语法、关系型数据库的连接操作、数据筛选和聚合等核心技能,这对于数据库管理和数据分析至关重要。对于准备面试或者想要提升SQL基础的初学者来说,这些题目既实用又具有挑战性。
2022-05-18 上传
2021-10-05 上传
2021-10-05 上传
2021-01-10 上传
2008-12-19 上传
2015-01-08 上传
baidu_38660537
- 粉丝: 0
- 资源: 1
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析