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