【MySQL】实验02 数据库的单表查询
-
(简答题, 2分)
请写出下列查询操作的SQL语句:“查询课程表中,所有课程的详细记录”。
答案提交:
(1)以文本形式提交SQL语句;
(2)将查询结果截图,截图的右下角要求标上你的学号最后两位。USE jxdb59; SELECT * FROM courses59;
-
(简答题, 3分)
请写出下列查询操作的SQL语句:“查询学生表中前6位学生的学号、姓名、出生日期以及入学年份,查询结果用中文显示列名”USE jxdb59; SELECT Sno AS '学号', Sname AS '姓名', Sbirth AS '出生日期', LEFT(Sno, 4) AS '入学年份' FROM students59 LIMIT 6;
-
(简答题, 3分)
请写出下列查询操作的SQL语句:“查询授课表中,教师编号为T009的教师都给哪些班级讲授过课程”。USE jxdb59; SELECT * FROM Tutors59 WHERE Tno='T009';
-
(简答题, 3分)
请写出下列查询操作的SQL语句:“查询考试成绩有不及格的学生的学号”。USE jxdb59; SELECT DISTINCT Sno AS '学号' FROM reports59 WHERE Grade<60;
-
(简答题, 4分)
请写出下列查询操作的SQL语句:“查询教师T003在2021学年第1学期的授课情况”。USE jxdb59; SELECT * FROM Tutors59 WHERE Tno='T003' AND Tacademicyear=2021 AND Tterm=1;
-
(简答题, 3分)
请写出下列查询操作的SQL语句:“查询前序课程编号是'112p0015'或'112p0055'的课程编号和课程名”USE jxdb59; SELECT Cno AS '课程编号', Cname AS '课程名称' FROM courses59 WHERE Cno IN ('112p0015', '112p0055');
-
(简答题, 4分)
请写出下列查询操作的SQL语句:“查询工资(Tsal)在3000元(含3000元)以上的教师的姓名、职称和工资,查询结果按照工资升序排序”USE jxdb59; SELECT Tname AS '姓名', Tprof AS '职称', Tsal AS '工资' FROM teachers59 WHERE Tsal>=3000 ORDER BY Tsal;
-
(简答题, 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;
-
(简答题, 4分)
请写出下列查询操作的SQL语句:“查询课程名中包含了'计算机'或'原理'的课程的所有信息”SELECT * FROM courses59 WHERE Cname LIKE '%计算机%' OR Cname LIKE '%原理%';
-
(简答题, 5分)
请写出下列查询操作的SQL语句:“查询名字中第二个字为“一”的男学生的学号、姓名和出生年份,查询结果按学号降序排序,属性列用中文名称命名”SELECT Sno AS '学号', Sname AS '姓名', YEAR(Sbirth) AS '出生年份' FROM students59 WHERE Sname LIKE '_一%' AND Sgender = '男' ORDER BY Sno DESC;
-
(简答题, 5分)
请写出下列查询操作的SQL语句:“查询生源地既不在“广东潮州”,也不在“山东”的学生的学号、姓名及生源地”SELECT Sno AS '学号', Sname AS '姓名', Snative AS '生源地' FROM students59 WHERE Snative NOT IN ('广东潮州', '山东');
-
(简答题, 5分)
请写出下列查询操作的SQL语句:“查询学号为'202003005103'的学生在2021学年选修的各门课程的课程编号及成绩,查询结果按成绩降序排序”。SELECT Sno AS '学号', Cno AS '课程编号', Grade AS '成绩' FROM reports59 WHERE Sno = '202003005103' AND Racademicyear=2021 ORDER BY Grade DESC;
-
(简答题, 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;
-
(简答题, 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;
-
(简答题, 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;
-
(简答题, 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;
-
(简答题, 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;
-
(简答题, 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;
-
(简答题, 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;
-
(简答题, 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;
