【MySQL】实验02 数据库的单表查询

avatar

azurekiln

  1. (简答题, 2分)
    请写出下列查询操作的SQL语句:“查询课程表中,所有课程的详细记录”。
    答案提交:
    (1)以文本形式提交SQL语句;
    (2)将查询结果截图,截图的右下角要求标上你的学号最后两位。

    USE jxdb59;
    SELECT * FROM courses59;

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

    USE jxdb59;
    SELECT Sno AS '学号', Sname AS '姓名', Sbirth AS '出生日期', LEFT(Sno, 4) AS '入学年份'
    FROM students59 LIMIT 6;

  3. (简答题, 3分)
    请写出下列查询操作的SQL语句:“查询授课表中,教师编号为T009的教师都给哪些班级讲授过课程”。

    USE jxdb59;
    SELECT * FROM Tutors59 WHERE Tno='T009';

  4. (简答题, 3分)
    请写出下列查询操作的SQL语句:“查询考试成绩有不及格的学生的学号”。

    USE jxdb59;
    SELECT DISTINCT Sno AS '学号' FROM reports59 WHERE Grade<60;

  5. (简答题, 4分)
    请写出下列查询操作的SQL语句:“查询教师T003在2021学年第1学期的授课情况”。

    USE jxdb59;
    SELECT * FROM Tutors59 WHERE Tno='T003' AND Tacademicyear=2021 AND Tterm=1;

  6. (简答题, 3分)
    请写出下列查询操作的SQL语句:“查询前序课程编号是'112p0015'或'112p0055'的课程编号和课程名”

    USE jxdb59;
    SELECT Cno AS '课程编号',
    Cname AS '课程名称'
    FROM courses59
    WHERE Cno IN ('112p0015', '112p0055');

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

    USE jxdb59;
    SELECT Tname AS '姓名',
    Tprof AS '职称',
    Tsal AS '工资'
    FROM teachers59
    WHERE Tsal>=3000
    ORDER BY Tsal;

  8. (简答题, 4分)
    请写出下列查询操作的SQL语句:“查询院号为11或16的学生的学号、姓名、院号和专业号,结果按院号降序、学号升序排序”

    USE jxdb59;
    SELECT Sno   AS '学号',
       Sname AS '姓名',
       Dno   AS '院号',
       Mno   AS '专业号'
    FROM students59
    WHERE Dno IN ('11','16')
    ORDER BY Dno DESC, Sno;

  9. (简答题, 4分)
    请写出下列查询操作的SQL语句:“查询课程名中包含了'计算机'或'原理'的课程的所有信息”

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

  10. (简答题, 5分)
    请写出下列查询操作的SQL语句:“查询名字中第二个字为“一”的男学生的学号、姓名和出生年份,查询结果按学号降序排序,属性列用中文名称命名”

    SELECT Sno          AS '学号',
       Sname        AS '姓名',
       YEAR(Sbirth) AS '出生年份'
    FROM students59
    WHERE Sname LIKE '_一%'
    AND Sgender = '男'
    ORDER BY Sno DESC;

  11. (简答题, 5分)
    请写出下列查询操作的SQL语句:“查询生源地既不在“广东潮州”,也不在“山东”的学生的学号、姓名及生源地”

    SELECT
    Sno AS '学号',
    Sname AS '姓名',
    Snative AS '生源地'
    FROM students59
    WHERE Snative NOT IN ('广东潮州', '山东');

  12. (简答题, 5分)
    请写出下列查询操作的SQL语句:“查询学号为'202003005103'的学生在2021学年选修的各门课程的课程编号及成绩,查询结果按成绩降序排序”。

    SELECT Sno   AS '学号',
       Cno   AS '课程编号',
       Grade AS '成绩'
    FROM reports59
    WHERE Sno = '202003005103' AND Racademicyear=2021
    ORDER BY Grade DESC;

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

    SELECT t.Sclass      AS '班级编号',
       Tno           AS '教师编号',
       Cno              '课程编号',
       Tacademicyear AS '学年',
       Tterm         AS '学期'
    FROM tutors59 t
         JOIN students59 s ON t.Sclass = s.Sclass
    WHERE s.Sno LIKE '2020%'
    AND Tacademicyear = '2021'
    GROUP BY t.Sclass, Tno, Cno, Tacademicyear, Tterm;

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

    SELECT Cno                  AS '课程编号',
       COUNT(Sno)           AS '选课人数',
       ROUND(AVG(Grade), 1) AS '平均分',
       MAX(Grade)           AS '最高分',
       MIN(Grade)           AS '最低分'
    FROM reports59
    GROUP BY Cno
    ORDER BY COUNT(Sno) DESC;

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

    USE jxdb59;
    SELECT Cno                  AS '课程编号',
       COUNT(s.Sno)         AS '选修人数',
       ROUND(AVG(grade), 1) AS '平均成绩'
    FROM Reports59 s
         JOIN Students59 st ON s.Sno = st.Sno
    WHERE st.Dno = '03'
    GROUP BY Cno
    HAVING COUNT(s.Sno) >= 5;

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

    USE jxdb59;
    SELECT s.Sno                AS '学生学号',
       s.Racademicyear      AS '学年',
       ROUND(AVG(grade), 1) AS '平均成绩'
    FROM Reports59 s
         JOIN Students59 st ON s.Sno = st.Sno
    WHERE st.Sclass = '2020030051'
    GROUP BY S.Sno, s.Racademicyear
    ORDER BY S.Sno, s.Racademicyear;

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

    USE jxdb59;
    SELECT Tno                 AS '教师编号',
       Tacademicyear       AS '学年',
       COUNT(DISTINCT Cno) AS '所上课程门数'
    FROM tutors59
    GROUP BY Tno, Tacademicyear
    ORDER BY Tno
    LIMIT 5 OFFSET 9;

  18. (简答题, 7分)
    请写出下列查询操作的SQL语句:“查询2023学年至少上了2门课程的教师信息,结果显示教师编号、学年、所上课程门数,按教师编号升序排序,并用中文显示属性列名”

    USE jxdb59;
    SELECT Tno                 AS '教师编号',
       Tacademicyear       AS '学年',
       COUNT(DISTINCT Cno) AS '所上课程门数'
    FROM tutors59
    WHERE Tacademicyear='2023'
    GROUP BY Tno, Tacademicyear
    HAVING COUNT(DISTINCT Cno)>=2
    ORDER BY Tno;

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

    USE jxdb59;
    SELECT Cno                AS '教师编号',
       COUNT(DISTINCT Tno) AS '授课人数'
    FROM tutors59
    GROUP BY Cno
    HAVING COUNT(DISTINCT Tno)>=3
    ORDER BY COUNT(DISTINCT Tno) DESC;

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

    USE jxdb59;
    SELECT Sno     AS '学号',
       Cno     AS '课程编号',
       CASE
           WHEN grade >= 90 THEN '优'
           WHEN grade >= 80 THEN '良'
           WHEN grade >= 70 THEN '中'
           WHEN grade >= 60 THEN '及格'
           ELSE '不及格'
           END AS '成绩等级'
    FROM Reports59
    WHERE Cno = '112p0024'
    AND Grade IS NOT NULL
    ORDER BY Grade DESC;


扫描二维码,在手机上阅读
收藏
powered by emlog pro
服务器供应商 新区云数据

友情链接
白衣Ink


sitemap