本题目要求编写SQL语句,查询选修人数超过2人且成绩都在60分以上的课程的课程名、最高成绩、最低成绩和平均成绩。
提示:请使用SELECT语句作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE major
(
mno
char(2) NOT NULL,
mname
varchar(20) NOT NULL,
PRIMARY KEY (mno
)
);
CREATE TABLE stu
(
sno
char(4) NOT NULL,
sname
char(8) NOT NULL,
sex
tinyint(1) DEFAULT NULL,
mno
char(2) DEFAULT NULL,
birdate
datetime DEFAULT NULL,
memo
text,
PRIMARY KEY (sno
),
KEY fk_stu_mno
(mno
),
CONSTRAINT fk_stu_mno
FOREIGN KEY (mno
) REFERENCES major
(mno
)
);
CREATE TABLE cou
(
cno
char(4) NOT NULL,
cname
varchar(30) NOT NULL,
credit
smallint(6) DEFAULT NULL,
ptime
char(5) DEFAULT NULL,
teacher
char(10) DEFAULT NULL,
PRIMARY KEY (cno
)
);
CREATE TABLE sc
(
sno
char(4) NOT NULL,
cno
char(4) NOT NULL,
grade
decimal(6,1) DEFAULT NULL,
PRIMARY KEY (sno
,cno
),
KEY fk_sc_cno
(cno
),
CONSTRAINT fk_sc_cno
FOREIGN KEY (cno
) REFERENCES cou
(cno
),
CONSTRAINT fk_sc_sno
FOREIGN KEY (sno
) REFERENCES stu
(sno
)
)
表样例
请在这里给出上述表结构对应的表样例。例如
stu表:
major表:
cou表:
sc表:
输出样例:
请在这里给出输出样例。例如:
我的答案
select cou.cno 课程号,cname 课程名,max(grade) 最高成绩,min(grade) 最低成绩,avg(grade) 平均成绩
from cou left join sc on(cou.cno=sc.cno)
where grade>60
group by cou.cno
having count(sno)>2