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 课程
您好,您这样:
--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 ))
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)
);