PTA - 数据库合集7

目录

10-12 查询所有学生的平均成绩(MSSQL)

10-14 查询平均成绩高于75分的学生(MSSQL)

10-15 查询未登记成绩的学生(MSSQL)

10-17 查询没有选修'C语言'课程的学生(MSSQL)

10-18 查询同专业的学生(MSSQL)

10-21 查询S001学生选修而S003学生未选修的课程(MSSQL)

10-22 查询S001或S003学生选修课程(MSSQL)

10-23 查询平均成绩以上的课程(MSSQL)

10-24 查询平均分高于80分的学生(MSSQL)

10-25 查询平均分高于60分的课程(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

  • 8
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊 : )

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值