目录
一、查询平均分高于60分的课程(MSSQL)
表结构:
表样例
输出样例:
编译程序:
二、查询成绩最高的前三名同学(MSSQL)
表结构:
表样例
输出样例:
编译程序:
三、查询所授每门课程平均成绩均在70分以上的教师(MSSQL)
表结构:
表样例
输出样例:
编译程序:
四、查询选修课程2门以上且成绩都在80分以上的学生(MSSQL)
表结构:
表样例
输出样例:
编译程序:
五 、查询信息学院女学生的学生学号、姓名、课号及考试成绩
表结构:
表样例
输出样例:
编译程序:
一、查询平均分高于60分的课程(MSSQL)
本题目要求编写SQL语句,
查询平均分高于60分的课程的课程名。
提示:MSSQLServer 评测SQL语句。
表结构:
请在这里写定义表结构的SQL语句。例如:
-- 课程表
CREATE TABLE cou ( cno char(4) NOT NULL,cname nvarchar(30) NOT NULL,credit smallint DEFAULT NULL,ptime char(5) DEFAULT NULL,teacher nvarchar(10) DEFAULT NULL,PRIMARY KEY ( cno )
);
-- 学生选课成绩表
CREATE TABLE sc ( sno char(4) NOT NULL, -- 学生学号cno char(4) NOT NULL, -- 课程号grade decimal(4,1) DEFAULT NULL,PRIMARY KEY ( sno , cno ),CONSTRAINT fk_sc_cno FOREIGN KEY ( cno ) REFERENCES cou ( cno )
)
表样例
请在这里给出上述表结构对应的表样例。例如
cou
表:
sc
表:
输出样例:
请在这里给出输出样例。例如:
编译程序:
select sc.cno as 课程号, max(cou.cname) as 课程名
from sc, cou
where sc.cno = cou.cno
group by sc.cno
having avg(sc.grade) > 60
二、查询成绩最高的前三名同学(MSSQL)
本题目要求编写SQL语句,
查询‘C语言’课程成绩最高的前三名同学。
提示:MSSQLServer 评测SQL语句。
表结构:
请在这里写定义表结构的SQL语句。例如:
-- 学生表
CREATE TABLE stu ( sno char(4) NOT NULL,sname nvarchar(8) NOT NULL,sex smallint DEFAULT NULL,mno char(2) DEFAULT NULL,birdate datetime DEFAULT NULL,memo ntext,PRIMARY KEY (sno)
);
-- 课程表
CREATE TABLE cou ( cno char(4) NOT NULL,cname nvarchar(30) NOT NULL,credit smallint DEFAULT NULL,ptime char(5) DEFAULT NULL,teacher nvarchar(10) DEFAULT NULL,PRIMARY KEY ( cno )
);
-- 学生选课成绩表
CREATE TABLE sc ( sno char(4) NOT NULL, -- 学生学号cno char(4) NOT NULL, -- 课程号grade decimal(4,1) DEFAULT NULL,PRIMARY KEY ( sno , cno ),CONSTRAINT fk_sc_cno FOREIGN KEY ( cno ) REFERENCES cou ( cno ),CONSTRAINT fk_sc_sno FOREIGN KEY ( sno ) REFERENCES stu ( sno )
)
表样例
请在这里给出上述表结构对应的表样例。例如
stu
表:
cou
表:
sc
表:
输出样例:
请在这里给出输出样例。例如:
编译程序:
select distinct top 3 sname 姓名, grade 成绩
from stu, sc, cou
where stu.sno = sc.sno and cname=N'C语言' and cou.cno = sc.cno
order by grade desc
三、查询所授每门课程平均成绩均在70分以上的教师(MSSQL)
查询所授每门课程的平均成绩均在70分以上( 含70分)的教师。
提示:MSSQLServer 评测SQL语句。
表结构:
请在这里写定义表结构的SQL语句。例如:
-- 课程表
CREATE TABLE cou ( cno char(4) NOT NULL,cname nvarchar(30) NOT NULL,credit smallint DEFAULT NULL,ptime char(5) DEFAULT NULL,teacher nvarchar(10) DEFAULT NULL,PRIMARY KEY ( cno )
);
-- 学生选课成绩表
CREATE TABLE sc ( sno char(4) NOT NULL, -- 学生学号cno char(4) NOT NULL, -- 课程号grade decimal(4,1) DEFAULT NULL,PRIMARY KEY ( sno , cno ),CONSTRAINT fk_sc_cno FOREIGN KEY ( cno ) REFERENCES cou ( cno )
)
表样例
请在这里给出上述表结构对应的表样例。例如
cou
表:
sc
表:
输出样例:
请在这里给出输出样例。例如:
编译程序:
select distinct teacher
from cou left join sc on cou.cno = sc.cno
where grade is not NULL and teacher not in
(select distinct teacher
from cou
where cno in (select cnofrom sc group by cnohaving avg(grade) < '70'))
四、查询选修课程2门以上且成绩都在80分以上的学生(MSSQL)
查询选修课程数在2门以上(含2门)且所有选课成绩都在80分以上(含80分)的学生的姓名、专业名及总学分。
提示:MSSQLServer 评测SQL语句。
表结构:
定义表结构的SQL语句如:
-- 专业表
CREATE TABLE major ( mno char(2) NOT NULL,mname nvarchar(20) NOT NULL,PRIMARY KEY (mno)
);
-- 学生表
CREATE TABLE stu ( sno char(4) NOT NULL,sname nvarchar(8) NOT NULL,sex smallint DEFAULT NULL,mno char(2) DEFAULT NULL,birdate datetime DEFAULT NULL,memo ntext,PRIMARY KEY (sno),CONSTRAINT fk_stu_mno FOREIGN KEY (mno) REFERENCES major (mno)
);
-- 课程表
CREATE TABLE cou ( cno char(4) NOT NULL,cname nvarchar(30) NOT NULL,credit smallint DEFAULT NULL,ptime char(5) DEFAULT NULL,teacher nvarchar(10) DEFAULT NULL,PRIMARY KEY ( cno )
);
-- 学生选课成绩表
CREATE TABLE sc ( sno char(4) NOT NULL, -- 学生学号cno char(4) NOT NULL, -- 课程号grade decimal(4,1) DEFAULT NULL,PRIMARY KEY ( sno , 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 MAX(stu.sname) 姓名, MAX(major.mname) 专业名, SUM(credit) 总学分
from stu, major, sc, cou
where sc.cno = cou.cno and stu.sno = sc.sno and major.mno = stu.mno and stu.sno not in (select sno from sc where grade < '80')
group by stu.sno
having count(*) >= 2
五 、查询信息学院女学生的学生学号、姓名、课号及考试成绩
本题目要求编写SQL语句,
检索出students
表、sc
表中信息学院女学生的学生学号、姓名、课号及考试成绩。
提示:请使用join连接作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE students (sno char(7) ,sname char(8) NOT NULL,class char(10),ssex char(2),bday date ,bplace char(10) ,IDNum char(18) ,sdept char(16),phone char(11),PRIMARY KEY (sno)
) ;
CREATE TABLE sc (sno char(7) ,cno char(7) ,score decimal(4,1),point decimal(2,1),PRIMARY KEY (sno,cno)
) ;
表样例
请在这里给出上述表结构对应的表样例。例如
students
表:
sno | sname | class | ssex | bday | bplace | IDNum | sdept | phone |
---|---|---|---|---|---|---|---|---|
1311104 | 李嘉欣 | 13英语1 | 女 | 1994-05-28 | 山西太原 | 330204199405281056 | 人文学院 | 15900002211 |
1311105 | 苏有明 | 13英语1 | 男 | 1995-04-16 | 内蒙古包头 | 330204199504162036 | 人文学院 | 15900002222 |
1711101 | 赵薇 | 17物流1 | 女 | 1999-02-11 | 安徽合肥 | 330203199902110925 | 经管学院 | 15900001177 |
1711102 | 董洁 | 17物流1 | 女 | 1999-02-17 | 上海 | 330203199902170017 | 经管学院 | 15900001188 |
sc
表:
sno | cno | score | point |
---|---|---|---|
1311104 | 0000011 | 53.0 | 0.0 |
1311104 | 0000027 | 80.0 | 1.0 |
1311105 | 0000027 | 84.0 | 1.0 |
1711101 | 0000052 | 71.0 | 2.0 |
输出样例:
请在这里给出输出样例。例如:
sno | sname | cno | score |
---|---|---|---|
1311104 | 李嘉欣 | 0000011 | 53.0 |
1311104 | 李嘉欣 | 0000027 | 80.0 |
1311105 | 苏有明 | 0000027 | 84.0 |
1711101 | 赵薇 | 0000052 | 71.0 |
编译程序:
select students.sno, sname, cno, score
from students inner join sc on students.sno = sc.sno
where ssex=N'女' and sdept='信息学院'