Auto commit

This commit is contained in:
2025-02-27 11:50:52 +08:00
parent cbfc0a1669
commit a98fd5bb17
+73 -5
View File
@@ -495,25 +495,93 @@ LEFT JOIN courses c ON c.id = sc.course_id
WHERE sc.score > 80 AND c.id = '01'; WHERE sc.score > 80 AND c.id = '01';
#32. #32.
SELECT c.`name`, COUNT(*)
FROM scores s, courses c
WHERE s.course_id = c.id
GROUP BY c.id;
#33. #33.
SELECT st.`name`, sc.score
FROM students st, scores sc, courses c, teachers t
WHERE st.id = sc.student_id AND sc.course_id = c.id
AND c.teacher_id = t.id AND t.`name` = '张三'
ORDER BY sc.score DESC
LIMIT 1;
#34. #34.
SELECT st.`name`, sc.score
FROM students st, scores sc
WHERE st.id = sc.student_id AND sc.score = (
SELECT MAX(score)
FROM scores, courses, teachers
WHERE scores.course_id = courses.id
AND courses.teacher_id = teachers.id AND teachers.`name` = '张三'
);
#35. #35.
SELECT st.id, sc1.course_id, sc1.score
FROM students st, scores sc1
WHERE st.id = sc1.student_id AND sc1.score = ANY(
SELECT sc2.score
FROM scores sc2
WHERE sc2.student_id = st.id AND sc2.course_id != sc1.course_id
);
#36. #36.
SELECT c1.`name`, c1.score
FROM (
SELECT c.`name`, sc.score
FROM scores sc, courses c
WHERE sc.course_id = c.id AND c.id = '01'
ORDER BY sc.score DESC
LIMIT 2
)c1
UNION ALL
SELECT c2.`name`, c2.score
FROM (
SELECT c.`name`, sc.score
FROM scores sc, courses c
WHERE sc.course_id = c.id AND c.id = '02'
ORDER BY sc.score DESC
LIMIT 2
)c2
UNION ALL
SELECT c3.`name`, c3.score
FROM (
SELECT c.`name`, sc.score
FROM scores sc, courses c
WHERE sc.course_id = c.id AND c.id = '03'
ORDER BY sc.score DESC
LIMIT 2
)c3;
#37. 5 #37. 5
SELECT c.`name`, COUNT(*) c
FROM scores s, courses c
WHERE s.course_id = c.id
GROUP BY c.id
HAVING c>5;
#38. #38.
SELECT st.id, st.`name`
FROM students st
WHERE (
SELECT COUNT(*)
FROM scores sc
WHERE sc.student_id = st.id
)>=2;
#39. #39.
SELECT st.*
FROM students st, scores sc
WHERE st.id = sc.student_id
GROUP BY st.id
HAVING COUNT(*) = 3;
#40. #40.
SELECT s.`name`, TIMESTAMPDIFF(YEAR,s.birth,NOW())
FROM students s;
#41. < #41. <
SELECT s.`name`, IF(DATE_FORMAT(s.birth,'%m-%d') < DATE_FORMAT(NOW(),'%m-%d'),
TIMESTAMPDIFF(YEAR,s.birth,NOW())-1, TIMESTAMPDIFF(YEAR,s.birth,NOW()))
FROM students s;
#42. #42.