Ex20.1
-
导入school_DB数据库,做以下操作:
-
数学函数
– 1.若系统中所有课程每周上10节,各需多少周。(知识点:CEILING()函数)
– 2.系统中2022级各专业在2022-2023-1学期开出课程的平均课时数是多少,不超过的最大整数是多少。(知识点:GROUP BY, FLOOR()函数)
– 3.求2022级信息安全专业2022-2023-1学期课程平均课时数,精确到小数点后1位。(知识点:ROUND()函数) -
字符串处理函数
– 4.查询2004年出生的学生,查询’物联网2204’班9月份过生日的学生。(知识点:LEFT(),SUBSTRING())
– 5.查询信息技术学院开出的课程,有字母(英文)的按大写显示。(知识点:UPPER(),LOWER())
# 1.若系统中所有课程每周上10节,各需多少周。(知识点:CEILING()函数)
SELECT courseid,CEILING(SUM(thour)/10)
FROM major_grade_term_courses
GROUP BY courseid;
# 2.系统中2022级各专业在2022-2023-1学期开出课程的平均课时数是多少,不超过的最大整数是多少。(知识点:GROUP BY, FLOOR()函数)
SELECT courseid,AVG(thour) '平均课时',FLOOR(AVG(thour)) '平均课时的最大整数'
FROM major_grade_term_courses
WHERE grade=2022 AND term='2022-2023-1'
GROUP BY courseid;
# 3.求2022级信息安全专业2022-2023-1学期课程平均课时数,精确到小数点后1位。(知识点:ROUND()函数)
SELECT * FROM majors WHERE mname LIKE '%信息安全%';
SELECT ROUND(AVG(thour),1) FROM major_grade_term_courses
WHERE grade=2022 AND majorid=1 AND term='2022-2023-1';
# 4.查询2004年出生的学生,查询’物联网2204’班9月份过生日的学生。(知识点:LEFT(),SUBSTRING())
SELECT * FROM students WHERE LEFT(birthday,4) ='2004';
SELECT * FROM mclasss WHERE mname='物联网2204' ;
SELECT * FROM students WHERE SUBSTRING(birthday,6,2)='09' AND mclassid=23;
# 5.查询信息技术学院开出的课程,有字母(英文)的按大写显示。(知识点:UPPER(),LOWER())
SELECT * FROM departs WHERE dname='信息技术学院';
SELECT UPPER(cname) FROM courses WHERE departid=3;