-- 学生表
create table Student (
Sid int primary key not null,
Sname varchar(32),
Sage int,
Ssex int
);
insert into Student(Sid,Sname,Sage,Ssex) values(001,'楚中天',19,1);
insert into Student(Sid,Sname,Sage,Ssex) values(002,'林蛋大',23,1);
insert into Student(Sid,Sname,Sage,Ssex) values(003,'张日天',20,0);
select * from Student;
-- 课程表
create table Course(
Cid int primary key not null,
Cname varchar(32) ,
Tid int
);
insert into Course(Cid,Cname,Tid) values(1,'数学',001);
insert into Course(Cid,Cname,Tid) values(2,'物理',002);
insert into Course(Cid,Cname,Tid) values(3,'化学',003);
select * from Course;
-- 成绩表
create table Sc(
Sid int not null,
Cid int ,
Score int
);
insert into Sc(Sid,Cid,Score) values(001,1,70);
insert into Sc(Sid,Cid,Score) values(001,2,60);
insert into Sc(Sid,Cid,Score) values(002,1,90);
insert into Sc(Sid,Cid,Score) values(002,2,100);
insert into Sc(Sid,Cid,Score) values(003,3,85);
insert into Sc(Sid,Cid,Score) values(003,3,30);
select * from Sc;
-- 教师表
create table teacher(
Tid int primary key not null,
Tname varchar(32)
);
insert into teacher(Tid,Tname) values(001,'叶萍');
insert into teacher(Tid,Tname) values(002,'鞠萍');
insert into teacher(Tid,Tname) values(003,'花萍');
select * from Student as 学生表;
select * from teacher as 教师表;
select * from Course as 课程表;
select * from Sc as 成绩表;
-- 查询所有同学的学号、姓名、选课数、总成绩;
-- 查询学过“叶萍”老师所教的所有课程的同学学号、姓名;
-- 查询课程编号"002"的成绩比课程编号“001”课程低的所有同学的学号、姓名
-- 按平均成绩高到低显示所有学生的 "数学"、"物理"两门课程的成绩,以下形式显示:学生ID,数学,物理,平均分
上面是建表语句 直接粘入执行即可。 下面是问题 我也写了一遍但是感觉写的好复杂,求高手写一个简洁高性能的,万分感谢。
insert into Sc(Sid,Cid,Score) values(003,3,85);
insert into Sc(Sid,Cid,Score) values(003,3,30);
首先这个不知道是你i写错了还是怎么 一个人化学成绩有2个 所以我在这里按照你这个上做的查询 所以有一个人是选了单个课程