Auto commit
This commit is contained in:
parent
3dae5b6d37
commit
eaaf651831
@ -335,10 +335,54 @@ FROM tb_students s
|
|||||||
WHERE TIMESTAMPDIFF(YEAR,s.birthday,'2023-12-01') BETWEEN 30 AND 40;
|
WHERE TIMESTAMPDIFF(YEAR,s.birthday,'2023-12-01') BETWEEN 30 AND 40;
|
||||||
|
|
||||||
#7
|
#7
|
||||||
|
SELECT st.stuname, st.gender, st.birthday, c.cname, sc.score,
|
||||||
|
IF(sc.score >= 90, '优秀',
|
||||||
|
IF(sc.score >= 80, '良好',
|
||||||
|
IF(sc.score >= 70, '中等',
|
||||||
|
IF(sc.score >= 60, '及格', '不及格'))))
|
||||||
|
FROM tb_students st, tb_scores sc, tb_courses c
|
||||||
|
WHERE st.stuid = sc.student_id AND sc.course_id = c.cid
|
||||||
|
ORDER BY sc.score DESC;
|
||||||
|
|
||||||
#8
|
#8
|
||||||
|
CREATE VIEW v_scores AS
|
||||||
|
SELECT c.cname, CEIL(AVG(sc.score)), MAX(sc.score), MIN(sc.score)
|
||||||
|
FROM tb_students st, tb_scores sc, tb_courses c
|
||||||
|
WHERE st.stuid = sc.student_id AND sc.course_id = c.cid
|
||||||
|
GROUP BY c.cid;
|
||||||
|
|
||||||
|
#9
|
||||||
|
DELIMITER $$
|
||||||
|
CREATE TRIGGER tri_updateAgeGroup
|
||||||
|
BEFORE UPDATE ON tb_students
|
||||||
|
FOR EACH ROW
|
||||||
|
BEGIN
|
||||||
|
IF YEAR(NEW.birthday) BETWEEN 2004 AND 2024 THEN
|
||||||
|
SET NEW.age_group = '青年';
|
||||||
|
ELSEIF YEAR(NEW.birthday) BETWEEN 1984 AND 2003 THEN
|
||||||
|
SET NEW.age_group = '中年';
|
||||||
|
ELSEIF YEAR(NEW.birthday) < 1984 THEN
|
||||||
|
SET NEW.age_group = '老年';
|
||||||
|
END IF;
|
||||||
|
END $$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
#10
|
||||||
|
DELIMITER $$
|
||||||
|
DROP PROCEDURE IF EXISTS pro_GetTopStudent;
|
||||||
|
CREATE PROCEDURE pro_GetTopStudent(IN in_cid CHAR(11), OUT out_stuname VARCHAR(50))
|
||||||
|
BEGIN
|
||||||
|
SELECT st.stuname INTO out_stuname
|
||||||
|
FROM tb_students st, tb_scores sc
|
||||||
|
WHERE st.stuid = sc.student_id AND sc.course_id = in_cid
|
||||||
|
ORDER BY sc.score DESC
|
||||||
|
LIMIT 1;
|
||||||
|
END $$
|
||||||
|
DELIMITER ;
|
||||||
|
|
||||||
|
CALL pro_GetTopStudent(1, @result);
|
||||||
|
SELECT @result;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user