数据库单表

互评批阅


    实验02 数据库的单表查询


    互评指标:

(1)按照答案中给的分数进行评分,若有扣分,必须在评语中给出理由; (2)
对SQL语句的评分:可以针对某一个错误点进行扣分,不要有一点错误就全部扣
掉; (3)要有查询结果的截图,若没有则扣1分,若有截图,但结果有误,则扣0.5分


    一. 填空题(共1题)


      1. (填空题) 请输入你的学号最后两位:_______。

/***的答案:/
    (1) 05

/正确答案:/
    (1) 01-99


    二. 简答题(共21题)


      1. (简答题) 本实验的实验目的是:

/***的答案:/

    熟练使用查询语句

/正确答案:/

    掌握下列查询操作的SQL语句的编写:

    (1)单表的无条件查询操作(SELECT-FROM)

    (2)单表的条件查询操作(WHERE)

    (3)单表的分组统计操作(GROUP BY -HAVING)

    (4)对结果的排序(ORDER BY)

    (5)对结果的分页显示(LIMIT)

评分 分
评语
段落格式
字体
字号
点击上传
x
        


      2. (简答题)

      请写出下列查询操作的SQL语句:“查询课程表Courses中,所有课程的详细记录”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT * FROM Courses05;

/正确答案:/

    (1)SQL语句(1分)

    SELECT *
    FROM Courses;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      3. (简答题)

      请写出下列查询操作的SQL语句:“查询表中前6位学生的学号、姓名、出生
      日期以及入学年份,查询结果用中文显示列名”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Sno AS "学号",Sname AS "学生姓名",Sbirth AS "出生日期",
    trim(trailing '0' from Sclass-Mno)  AS "入学年份"
    FROM students05
    LIMIT 1,6;

/正确答案:/

    (1)SQL语句(2分)

    SELECT Sno AS "学号", Sname AS "姓名", Sbirth AS "出生日期",
    LEFT(Sno,4) AS "入学年份"

    FROM Students

    LIMIT 6;

    或者

    SELECT Sno '学号', Sname '姓名', Sbirth '出生日期', LEFT(Sno,4) '入
    学年份'

    FROM Students

    LIMIT 6;

    (2)查询结果(1分)

评分 分
评语
段落格式
字体
字号
点击上传
x
        


      4. (简答题)

      请写出下列查询操作的SQL语句:“查询授课表Tutor中,教师编号为T009的
      教师都给哪些班级讲授过课程”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT DISTINCT SclEss
    FROM Tutors05
    WHERE Tno='T009';

/正确答案:/

    (1)SQL语句(2分)

    SELECT DISTINCT Tno, Sclass
    FROM Tutors

    WHERE Tno='T009';

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      5. (简答题)

      请写出下列查询操作的SQL语句:“查询考试成绩有不及格的学生的学号”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Sno
    FROM reports05
    WHERE Grade<60 AND Grade>0;

/正确答案:/

    (1)SQL语句(2分)

    SELECT DISTINCT Sno
    FROM Reports

    WHERE Grade<60;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      6. (简答题)

      请写出下列查询操作的SQL语句:“查询教师T003在2015学年第1学期的授课情况”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT *
    FROM Tutors05
    WHERE Tno='T003' AND Tterm='1' AND Tacademicyear='2015'
    ;

/正确答案:/

    (1)SQL语句(3分)

    SELECT *
    FROM Tutors
    WHERE Tno='T003' AND Tacademicyear=2015 AND Tterm=1;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      7. (简答题)

      请写出下列查询操作的SQL语句:“查询前序课程编号是'112p0015'或
      '112p0055'的课程编号和课程名”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Cno,Cname
    FROM Courses05
    WHERE Courses05.Pre_Cno='112p0015' OR Courses05.Pre_Cno='112p0055';

/正确答案:/

    (1)SQL语句(2分)

    SELECT Cno,Cname

    FROM Courses
    WHERE Pre_Cno IN ('112p0015', '112p0055');

    或者

    SELECT Cno,Cname

    FROM Courses

    WHERE Pre_Cno='112p0015' OR Pre_Cno='112p0055';

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      8. (简答题)

      请写出下列查询操作的SQL语句:“查询工资(Tsal)在3000元以上的教师的姓
      名、职称和工资,查询结果按照工资升序排序”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Tname,Tprof,Tsal
    FROM teachers05
    WHERE Tsal>3000
    order by Tsal;

/正确答案:/

    (1)SQL语句(3分)

    SELECT Tname,Tprof, Tsal

    FROM Teachers
    WHERE Tsal>=3000

    ORDER BY Tsal;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      9. (简答题)

      请写出下列查询操作的SQL语句:“查询院号为11或12的学生的学号、姓名、
      院号和专业号,结果按院号升序、专业号降序、姓名的汉语拼音升序排序”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/

    SELECT Sno,Sname,Dno,Mno
    FROM students05
    WHERE Dno='11' OR Dno='12'
    ORDER BY Dno, Mno DESC,convert(Sname using gbk)  ;

/正确答案:/

    (1)SQL语句(3分)

    SELECT Sno,Sname,Dno,Mno FROM Students
    WHERE Dno IN ('11','12')
    ORDER BY Dno,Mno DESC,Sname;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      10. (简答题)

      请写出下列查询操作的SQL语句:“查询课程名中包含了'计算机'或'原理'的
      课程的所有信息”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT *
    FROM Courses05
    WHERE Cname LIKE '计算机%' OR Cname LIKE '%原理';

/正确答案:/

    (1)SQL语句(3分)

    SELECT *
    FROM Courses
    WHERE Cname LIKE '%计算机%' OR Cname LIKE '%原理%';

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      11. (简答题)

      请写出下列查询操作的SQL语句:“查询名字中第二个字为“一”的男学生的学
      号、姓名和出生年份,查询结果按学号降序排序”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Sno,Sname,Sbirth
    FROM students05
    WHERE Sgender='男' AND Sname LIKE '_一%'
    order by Sno desc ;

/正确答案:/

    (1)SQL语句(4分)

    SELECT Sno,Sname,YEAR(Sbirth)  AS "BornYear"

    FROM Students
    WHERE Sname LIKE '_一%' AND Sgender='男'

    ORDER BY Sno DESC;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      12. (简答题)

      请写出下列查询操作的SQL语句:“查询生源地既不在“广东潮州”,也不在“山
      东”的学生的学号、姓名及生源地”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Sno,Sname,Snative
    FROM students05
    WHERE Snative!='广东潮州' and Snative not like '山东%';

/正确答案:/

    (1)SQL语句(4分)

    SELECT Sno,Sname,Snative

    FROM Students

    WHERE Snative <>'广东潮州' AND Snative NOT LIKE '山东%';

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      13. (简答题)

      请写出下列查询操作的SQL语句:“查询学号为'2014112103'的学生在2015学
      年选修的各门课程的课程编号及成绩,查询结果按成绩降序排序”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Cno,Grade
    FROM reports05
    WHERE Sno='2014112103' AND Racademicyear='2015'
    ORDER BY Grade DESC ;

/正确答案:/

    (1)SQL语句(4分)

    SELECT Cno,Grade

    FROM Reports
    WHERE Sno='2014112103' AND Racademicyear=2015

    ORDER BY Grade DESC;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      14. (简答题)

      请写出下列查询操作的SQL语句:“查询2014级的学生在读大二时,都有哪些
      教师给他们上过课,结果显示班级编号、教师编号、课程号、学年和学期,
      并用中文显示属性列名”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Students05.Sclass AS "班级编号",Tutors05.Tno AS "教师编
    号",Tutors05.Cno AS "课程号",Tutors05.Tacademicyear as "学
    年",Tutors05.Tterm AS "学期"
    FROM Students05 LEFT JOIN Tutors05
    ON Students05.Sclass=Tutors05.Scless
    WHERE Students05.Sclass-Students05.Mno='20140000' AND
    Tutors05.Tacademicyear='2015';

/正确答案:/

    (1)SQL语句(5分)

    SELECT Sclass '班级编号', Tno '教师编号', Cno '课程编号',
    Tacademicyear '学年', Tterm '学期'

    FROM Tutors
    WHERE LEFT(Sclass,4)='2014' AND Tacademicyear=2015;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      15. (简答题)

      请写出下列查询操作的SQL语句:“查询各门课程(Cno)的选课情况,结果显
      示课程编号、选课人数、平均分、最高分和最低分,查询结果按课程编号降
      序排序,并用中文显示属性列名,平均分保留小数点后1位”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Cno AS "课程编号",COUNT(*) AS "选课人数",ROUND(AVG(Grade),1)
    AS "平均分",MAX(Grade) AS "最高分",MIN(Grade) AS "最低分"
    FROM Reports05
    WHERE Grade>0
    GROUP BY Cno
    ORDER BY Cno DESC ;

/正确答案:/

    (1)SQL语句(5分)

    SELECT Cno AS "课程编号",COUNT(*) AS "选课人数",
    FORMAT(AVG(Grade),1) AS "平均分", MAX(Grade) AS "最高分", MIN(Grade)
    AS "最低分"
    FROM Reports

    GROUP BY Cno
    ORDER BY Cno DESC;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      16. (简答题)

      请写出下列查询操作的SQL语句:“查询至少有5个'11'学院的学生选修的课
      程的课程编号、选修的人数和平均成绩,选修人数和平均成绩只针对'11'学
      院的学生进行统计,并用中文显示属性列名,平均成绩保留小数点后1位”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Reports05.Cno AS "课程编号",COUNT(*) AS "选修的人
    数",ROUND(AVG(Grade),1) AS "平均分"
    FROM Reports05 RIGHT JOIN Students05
    on Reports05.Sno = Students05.Sno
    WHERE Grade>0 AND Dno=11
    GROUP BY Cno
    HAVING COUNT(*)>=5;

/正确答案:/

    (1)SQL语句(5分)

    SELECT Cno AS "课程编号", COUNT(*) AS "选课人数", AVG(Grade) AS "平
    均成绩"

    FROM Reports
    WHERE SUBSTRING(Sno,5,2)='11'

    GROUP BY Cno
    HAVING COUNT(*)>=5;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      17. (简答题)

      请写出下列查询操作的SQL语句:“查询20141121班中各位学生(Sno)每个学
      年所修课程的平均分,结果显示学生的学号、学 年、课程平均分,结果按
      学号、学年升序排序,并用中文显示属性列名,平均分保留小数点后1位”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Reports05.Sno AS "学号",Reports05.Racademicyear AS "学
    年",ROUND(AVG(Grade),1) AS "课程平均分"
    FROM Reports05 RIGHT JOIN Students05
    on Reports05.Sno = Students05.Sno
    WHERE Students05.Sclass=20141121
    GROUP BY Reports05.Sno, Reports05.Racademicyear
    ORDER BY Reports05.Sno , Reports05.Racademicyear;

/正确答案:/

    (1)SQL语句(5分)

    SELECT Sno AS "学号",Racademicyear AS "学年",FORMAT(AVG(Grade),1) AS
    "平均分"

    FROM Reports
    WHERE LEFT(Sno,8)='20141121'
    GROUP BY Sno,Racademicyear

    ORDER BY Sno,Racademicyear;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      18. (简答题)

      请写出下列查询操作的SQL语句:“查询各位老师(Tno)每个学年上的课程
      (Cno)门数,结果显示教师编号、学年、所上课程门数,按教师编号升序排
      序,并用中文显示属性列名,分页显示第10条开始的后5条结果”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Tno AS "教师编号",Tacademicyear AS "学年",COUNT(*) AS "所上课
    程门数"
    FROM Tutors05
    GROUP BY Tno, Tacademicyear
    ORDER BY Tno;

/正确答案:/

    (1)SQL语句(5分)

    SELECT Tno AS "教师编号",Tacademicyear AS "学年",COUNT(DISTINCT Cno)
    AS "授课门数"

    FROM Tutors
    GROUP BY Tno,Tacademicyear

    ORDER BY Tno

    LIMIT 9,5;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      19. (简答题)

      请写出下列查询操作的SQL语句:“查询2017学年至少上了两门课程的教师信
      息,结果显示教师编号、学年、所上课程门数,按教师编号升序排序,并用
      中文显示属性列名”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Tno AS "教师编号",Tacademicyear AS "学年",COUNT(*) AS "所上课
    程门数"
    FROM Tutors05
    WHERE Tacademicyear=2017
    GROUP BY Tno, Tacademicyear
    HAVING COUNT(*)>=2
    ORDER BY Tno;

/正确答案:/

    (1)SQL语句(6分)

    SELECT Tno AS "教师编号",Tacademicyear AS "学年",COUNT(DISTINCT Cno)
    AS "上课门数"

    FROM Tutors

    WHERE Tacademicyear=2017

    GROUP BY Tno,Tacademicyear

    HAVING COUNT(DISTINCT Cno)>=2;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      20. (简答题)

      请写出下列查询操作的SQL语句:“查询至少有3位老师授课的课程,结果显
      示课程编号和授课人数,按授课人数降序排序,并用中文显示属性列名”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Cno AS "课程编号",COUNT(*) AS "授课人数"
    FROM Tutors05
    GROUP BY Cno
    HAVING COUNT(*)>=3
    ORDER BY COUNT(*) DESC ;

/正确答案:/

    (1)SQL语句(6分)

    SELECT Cno AS "课程编号", COUNT(DISTINCT Tno) AS "授课人数"

    FROM Tutors

    GROUP BY Cno

    HAVING COUNT(DISTINCT Tno)>=3

    ORDER BY COUNT(DISTINCT Tno) DESC;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        


      21. (简答题)

      请写出下列查询操作的SQL语句:“查询所有选修了课程号为112p0024并且有
      成绩的学生的考试情况,结果要求显示学生的学号、课程号和成绩等级('优
      '、'良'、'中、'及格'和'不及格),并按成绩降序排序(提示:CASE WHEN)”

      将查询结果截图,截图的右下角要求标上你的学号最后两位

/***的答案:/


    SELECT Sno AS "学号",Cno AS "课程号",CASE WHEN Grade>='90' THEN '优'
                                           WHEN Grade>='80' AND
    Grade<'90' THEN '良'
                                           WHEN Grade>='70' AND
    Grade<'80' THEN '中'
                                           WHEN Grade>='60' AND
    Grade<'70' THEN '及格'
                                           WHEN Grade>='0' AND
    Grade<'60' THEN '不及格' END AS "成绩等级"
    FROM Reports05
    WHERE Cno='112p0024' AND Grade>0
    ORDER BY Grade DESC ;

/正确答案:/

    (1)SQL语句(7分)

    SELECT Sno AS "学号",Cno AS "课程编号",

    (CASE WHEN Grade>=90 THEN '优'

               WHEN Grade BETWEEN 80 AND 89 THEN '良'

               WHEN Grade BETWEEN 70 AND 79 THEN '中'

               WHEN Grade BETWEEN 60 AND 69 THEN '及格'

               ELSE '不及格'

    END) AS "成绩等级"

    FROM Reports

    WHERE Cno='112p0024' AND Grade IS NOT NULL

    ORDER BY Grade DESC;

    (2)查询结果(1分)


评分 分
评语
段落格式
字体
字号
点击上传
x
        

一. 填空题

  * 1

二. 简答题

  * 2
  * 3
  * 4
  * 5
  * 6
  * 7
  * 8
  * 9
  * 10
  * 11
  * 12
  * 13
  * 14
  * 15
  * 16
  * 17
  * 18
  * 19
  * 20
  * 21
  * 22

总分:1分
客观题得分:1分
提交 <javascript:;>

<javascript:;>

提示

<javascript:;> <javascript:;>
<javascript:;>

提示

<javascript:;> <javascript:;>

提示

<javascript:;>
<javascript:;>

评分量表模板详情

确定 <javascript:;> 取消 <javascript:;>

  • 6
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值