数据库中包含学生表、课程表、学生选课表3个表,分别是什么?

2025-04-01 09:39:54
推荐回答(3个)
回答1:

1、SELECT 课程号, 课程名, 课程学分

FROM 课程 WHERE 课程号 IN(SELECT 课程号

FROM 选课

GROUP BY 课程号

HAVING COUNT(学生号) BETWEEN 2 AND 4 )

2、SELECT MAX(成绩) - MIN(成绩) AS 分数之差

FROM 选课

倘若要每门课程相差

SELECT 课程, MAX(成绩) - MIN(成绩) AS 分数之差

FROM 选课

GROUP BY 课程

回答2:

您好,您这样:
--1
select Sname,Sage from Student where Sage<(select Sage from Student where Sno='某一学生') and Sdept='数学系'
--2
select Sname from Student where Sno in (select Sno from SC)
--3
select Sname from Student where Sno in (select Sno from SC group by Sno having count(*)=(select count(*) from Course ))

回答3:

create table student(
sno varchar(10) primary key,
sname varchar(10) not null,
ssex char(2) check(ssex in ('男', '女')),
sage smallint check(sage>=12 AND sage<=80),
classno char(2),
sdept varchar(20)
);

create table course(
cno varchar(10) primary key,
cname varchar(20) not null,
cpno varchar(10),
ccredit smallint check(ccredit>=1 AND ccredit<=6),
foreign key cpno references course(cno)
);

create table sc(
sno varchar(10) not null,
cno char(10) not null,
grade smallint check(grade>=0 AND grade<=100),
constraint sc_primary_key primary key (sno, cno)
);