返回

从不同角度透视MySQL多表连接查询的奥秘

人工智能

MySQL数据库的多表连接查询是一种强大的数据检索工具,它允许您从多个表中提取相关数据,并将其组合成有意义的信息。在实际应用中,多表连接查询非常有用,例如,您可以使用它来查找特定客户的所有订单,或者查找特定产品的所有评论。

为了帮助您更好地理解MySQL多表连接查询,我们准备了五道精心挑选的练习题,这些题目涵盖了多表连接查询的各种常见场景和应用。通过解决这些练习题,您将掌握多表连接查询的基本原理和技巧,并能够轻松应对实际工作中的各种数据查询需求。

练习题1:查询任何一门课程成绩在70分以上的姓名、课程名称和分数

SELECT student.name, course.name, score.score
FROM student
JOIN course ON student.id = course.student_id
JOIN score ON course.id = score.course_id
WHERE score.score >= 70;

练习题2:查询选修所有课程的学生姓名和课程名称

SELECT student.name, course.name
FROM student
JOIN course ON student.id = course.student_id
WHERE student.id IN (
    SELECT student_id
    FROM course
    GROUP BY student_id
    HAVING COUNT(*) = (
        SELECT COUNT(*)
        FROM course
    )
);

练习题3:查询每个学生的总成绩

SELECT student.name, SUM(score.score) AS total_score
FROM student
JOIN course ON student.id = course.student_id
JOIN score ON course.id = score.course_id
GROUP BY student.name;

练习题4:查询每个课程的平均成绩

SELECT course.name, AVG(score.score) AS average_score
FROM course
JOIN score ON course.id = score.course_id
GROUP BY course.name;

练习题5:查询不及格课程的学生姓名和课程名称

SELECT student.name, course.name
FROM student
JOIN course ON student.id = course.student_id
JOIN score ON course.id = score.course_id
WHERE score.score < 60;

通过解决这些练习题,您一定对MySQL多表连接查询有了更深入的理解和掌握。如果您想了解更多关于MySQL多表连接查询的知识,可以参考以下资源:

希望这些资源对您有所帮助!