目录
10-21 查询S001学生选修而S003学生未选修的课程(MSSQL)
10-22 查询S001或S003学生选修课程(MSSQL)
10-12 查询所有学生的平均成绩(MSSQL)
分数 10
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
本题目要求编写SQL语句,
在stu表
和 sc表
中查询所有学生的平均成绩,如果某学生尚未选修课程或成绩为空时,平均分计为0。
提示:请使用SELECT语句作答。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE stu (
sno char(4) NOT NULL,
sname char(8) NOT NULL,
sex smallint DEFAULT NULL,
mno char(2) DEFAULT NULL,
birdate datetime DEFAULT NULL,
memo text,
PRIMARY KEY (sno)
);
CREATE TABLE cou (
cno char(4) NOT NULL,
cname varchar(30) NOT NULL,
credit smallint 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 ),
CONSTRAINT fk_sc_cno FOREIGN KEY ( cno ) REFERENCES cou ( cno ),
CONSTRAINT fk_sc_sno FOREIGN KEY ( sno ) REFERENCES stu ( sno )
)
表样例
请在这里给出上述表结构对应的表样例。例如
stu
表:
sc
表:
输出样例:
请在这里给出输出样例。例如:
SELECT
stu.sno AS 学号,AVG(ISNULL(grade,0)) AS 平均成绩
FROM
stu LEFT JOIN sc
ON
stu.sno = sc.sno
GROUP BY
stu.sno
10-14 查询平均成绩高于75分的学生(MSSQL)
分数 10
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
本题目要求编写SQL语句,在sc表
中查询平均成绩高于75分的学生。
提示:MSSQLServer 评测SQL语句。
表结构:
定义表结构的SQL语句如:
-- 学生选课成绩表
CREATE TABLE sc (
sno char(4) NOT NULL,
cno char(4) NOT NULL,
grade decimal(4,1) DEFAULT NULL,
PRIMARY KEY ( sno , cno )
)
表样例
请在这里给出上述表结构对应的表样例。例如
sc
表:
输出样例:
请在这里给出输出样例。例如:
SELECT
sno AS 学号 ,sum(grade) / COUNT(sno) AS 平均成绩
FROM
sc
GROUP
BY sno
HAVING
sum(grade) / COUNT(sno) > 75
10-15 查询未登记成绩的学生(MSSQL)
分数 5
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
本题目要求编写SQL语句,
检索出sc
表中‘C001’课程未登记成绩的学生学号
提示:MSSQLServer 评测SQL语句。
表结构:
定义表结构的SQL语句如:
-- 学生选课成绩表
CREATE TABLE sc (
sno char(4) NOT NULL,
cno char(4) NOT NULL,
grade decimal(4,1) DEFAULT NULL,
PRIMARY KEY ( sno , cno )
)
表样例
请在这里给出上述表结构对应的表样例。例如
sc
表:
输出样例:
请在这里给出输出样例。例如:
SELECT
sno
FROM
sc
WHERE
grade IS NULL and cno = 'C001'
10-17 查询没有选修'C语言'课程的学生(MSSQL)
分数 10
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
本题目要求编写SQL语句,
检索出没有选修'C语言'课程的学生记录,输出结果集按照学号升序排序。
提示: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
表:
cou
表:
sc
表:
输出样例:
请在这里给出输出样例。例如:
SELECT
sno 学号, sname 姓名
FROM
stu
WHERE
sno
NOT IN
(
SELECT
sno
from
sc
where
cno = (select
cno
from
cou
where
cname = N'C语言')
);
10-18 查询同专业的学生(MSSQL)
分数 10
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
本题目要求编写SQL语句,
检索Student
表中与‘张三’在同一个专业的学生记录。
提示: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)
);
表样例
请在这里给出上述表结构对应的表样例。例如
stu
表:
输出样例:
请在这里给出输出样例。例如:
SELECT
sno 学号, sname 姓名
FROM
stu
WHERE
mno = (SELECT mno FROM stu WHERE sname = N'张三')
AND
sname <> N'张三'
10-21 查询S001学生选修而S003学生未选修的课程(MSSQL)
分数 10
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
本题目要求编写SQL语句,
检索出 sc
表中学号为S001的学生选修的而S003学号学生未选修的课程号。
注意:查询结果忽略顺序只对比数据。
提示:MSSQLServer 评测SQL语句。
表结构:
定义表结构的SQL语句如:
-- 学生选课成绩表
CREATE TABLE sc (
sno char(4) NOT NULL, -- 学生学号
cno char(4) NOT NULL, -- 课程号
grade decimal(4,1) DEFAULT NULL,
PRIMARY KEY ( sno , cno )
)
表样例
上述表结构对应的表样例如
sc
表:
输出样例:
输出样例如:
SELECT
cno 课程号
FROM
sc
WHERE
sno = 'S001' and cno not IN(SELECT cno FROM sc WHERE sno = 'S003' )
10-22 查询S001或S003学生选修课程(MSSQL)
分数 10
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
例如:本题目要求编写SQL语句,
查询学号为‘S001’或‘S003’的学生选修的课程,输出结果集按课程号升序排序,且不包含重复的课程记录。
提示:请使用UNION语句作答。
表结构:
请在这里写定义表结构的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 课程号 ,cou.cname as 课程
FROM
sc,cou
WHERE
sno='S001'and sc.cno=cou.cno
UNION
SELECT
sc.cno as 课程号 ,cou.cname as 课程
FROM
sc,cou
where
sno='S003' and sc.cno=cou.cno
10-23 查询平均成绩以上的课程(MSSQL)
分数 10
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
本题目要求编写SQL语句,
查询每个同学超过他选修的平均成绩的课程。
请使用:
1)用相关子查询实现
2)使用派生表实现。
表结构:
请在这里写定义表结构的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 sno 学号,cname 课程名,grade 成绩
from cou,sc a
where cou.cno = a.cno and
(a.grade > (select avg(b.grade) from sc b where a.sno = b.sno))
10-24 查询平均分高于80分的学生(MSSQL)
分数 10
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
本题目要求编写SQL语句,
查询平均分高于80分的学生姓名。
注意: 学生姓名有可能重复。
提示: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),
CONSTRAINT fk_stu_mno FOREIGN KEY (mno) REFERENCES major (mno)
);
-- 学生选课成绩表
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_sno FOREIGN KEY ( sno ) REFERENCES stu ( sno )
)
表样例
请在这里给出上述表结构对应的表样例。例如
stu
表:
sc
表:
输出样例:
输出样例如:
SELECT
stu.sno AS 学号,max(stu.sname) AS 姓名,AVG(sc.grade) AS 平均成绩
FROM
sc,stu
WHERE
sc.sno = stu.sno
GROUP BY
stu.sno
HAVING
AVG(sc.grade) > 80
10-25 查询平均分高于60分的课程(MSSQL)
分数 10
全屏浏览题目
切换布局
作者 张庆
单位 集美大学
本题目要求编写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
cou.cno AS 课程号, min(cou.cname) AS 课程名
FROM
cou ,sc
WHERE
cou.cno = sc.cno
GROUP BY
cou.cno
HAVING
AVG(sc.grade) > 60