sql练习题,答案自己写的,如有错误或其他更优解请留言,谢谢!

这篇博客提供了多个关于学生、课程、成绩和教师数据库的SQL查询题目,涵盖了从基本的表记录查询到复杂的联接、子查询和聚合函数应用,旨在提升SQL操作技能。
摘要由CSDN通过智能技术生成

设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)表(四)所示,数据如表1-2的表(一)表(四)所示。用SQL语句创建四个表并完成相关题目。
表1-1数据库的表结构
表(一)Student (学生表)
属性名 数据类型 可否为空 含 义
Sno Char(3) 否 学号(主码)
Sname Char(8) 否 学生姓名
Ssex Char(2) 否 学生性别
Sbirthday datetime 可 学生出生年月
Class Char(5) 可 学生所在班级

CREATE TABLE `student` (
  `Sno` char(3) NOT NULL,
  `Sname` char(8) NOT NULL,
  `Ssex` char(2) NOT NULL,
  `Sbirthday` datetime DEFAULT NULL,
  `Class` char(5) DEFAULT NULL,
  PRIMARY KEY (`Sno`)
)

 
表(二)Course(课程表)
属性名	数据类型	可否为空	含 义
Cno	Char(5)	否	课程号(主码)
Cname	Varchar(10)	否	课程名称
Tno	Char(3)	否	教工编号(外码)

```sql
CREATE TABLE `course` (
  `Cno` char(5) NOT NULL,
  `Cname` varchar(10) NOT NULL,
  `Tno` char(3) NOT NULL,
  PRIMARY KEY (`Cno`),
  KEY `Tno` (`Tno`),
  CONSTRAINT `course_ibfk_1` FOREIGN KEY (`Tno`) REFERENCES `teacher` (`Tno`)
)

表(三)Score(成绩表)
属性名 数据类型 可否为空 含 义
Sno Char(3) 否 学号(外码)
Cno Char(5) 否 课程号(外码)
Degree Decimal(4,1) 可 成绩
主码:Sno+ Cno

CREATE TABLE `score` (
  `Sno` char(3) NOT NULL,
  `Cno` char(5) NOT NULL,
  `Degree` decimal(4,1) DEFAULT NULL,
  KEY `Sno` (`Sno`),
  KEY `Cno` (`Cno`),
  CONSTRAINT `score_ibfk_1` FOREIGN KEY (`Sno`) REFERENCES `student` (`Sno`),
  CONSTRAINT `score_ibfk_2` FOREIGN KEY (`Cno`) REFERENCES `course` (`Cno`)
)

表(四)Teacher(教师表)
属性名 数据类型 可否为空 含 义
Tno Char(3) 否 教工编号(主码)
Tname Char(4) 否 教工姓名
Tsex Char(2) 否 教工性别
Tbirthday datetime 可 教工出生年月
Prof Char(6) 可 职称
Depart Varchar(10) 否 教工所在部门

CREATE TABLE `teacher` (
  `Tno` char(3) NOT NULL,
  `Tname` char(4) NOT NULL,
  `Tsex` char(2) NOT NULL,
  `Tbirthday` datetime DEFAULT NULL,
  `Prof` char(6) DEFAULT NULL,
  `Depart` varchar(10) NOT NULL,
  PRIMARY KEY (`Tno`)
) 

表1-2数据库中的数据
表(一)Student
Sno Sname Ssex Sbirthday class
108 曾华 男 1977-09-01 95033
105 匡明 男 1975-10-02 95031
107 王丽 女 1976-01-23 95033
101 李军 男 1976-02-20 95033
109 王芳 女 1975-02-10 95031
103 陆君 男 1974-06-03 95031

INSERT INTO Student (stu_id, stu_name, stu_sex, stu_birthday, stu_class)
VALUES (108, '曾华', '男', '1977-09-01', 95033);
INSERT INTO Student (stu_id, stu_name, stu_sex, stu_birthday, stu_class)
VALUES (105, '匡明', '男', '1975-10-02', 95031);
INSERT INTO Student (stu_id, stu_name, stu_sex, stu_birthday, stu_class)
VALUES (107, '王丽', '女', '1976-01-23', 95033);
INSERT INTO Student (stu_id, stu_name, stu_sex, stu_birthday, stu_class)
VALUES (101, '李军', '男', '1976-02-20', 95033);
INSERT INTO Student (stu_id, stu_name, stu_sex, stu_birthday, stu_class)
VALUES (109, '王芳', '女', '1975-02-10', 95031
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值