在多表查询中,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
列返回。