在多表查询中,SQL的AVG()函数可以帮助我们计算某个字段的平均值。当我们需要从两个或多个表中获取数据并计算平均值时,我们可以使用JOIN语句将这些表连接起来,然后使用AVG()函数计算平均值。
以下是一个示例,说明如何在多表查询中使用AVG()函数。假设我们有两个表:students
和grades
。students
表包含学生的信息,如id
、name
等;grades
表包含学生的成绩信息,如student_id
(与students
表中的id
相关联)和score
。
-- 创建 students 表 CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(255) NOT NULL ); -- 创建 grades 表 CREATE TABLE grades ( id INT PRIMARY KEY, student_id INT, score INT, FOREIGN KEY (student_id) REFERENCES students(id) );
现在,我们想要计算所有学生的平均分。为此,我们需要将students
表和grades
表连接起来,然后使用AVG()函数计算score
字段的平均值。
SELECT AVG(grades.score) as average_score FROM students JOIN grades ON students.id = grades.student_id;
这个查询首先使用JOIN语句将students
表和grades
表连接在一起,然后使用AVG()函数计算所有学生的平均分。结果将作为average_score
列返回。