MySQL 是一款強大的關系型數據庫管理系統,可以處理大型數據集和高并發請求。在 MySQL 中,兩個表的關聯查詢是很常見的操作,尤其是在求和和匯總數據時。
首先,我們需要創建兩個表,并插入一些初始數據。假設我們有一個學生表(students)和一個成績表(scores),這兩個表的結構如下:
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(50)
);
CREATE TABLE scores (
id INT PRIMARY KEY,
student_id INT,
score INT,
FOREIGN KEY (student_id) REFERENCES students(id)
);
INSERT INTO students VALUES (1, 'Tom');
INSERT INTO students VALUES (2, 'Bob');
INSERT INTO students VALUES (3, 'Alice');
INSERT INTO scores VALUES (1, 1, 80);
INSERT INTO scores VALUES (2, 1, 90);
INSERT INTO scores VALUES (3, 2, 85);
INSERT INTO scores VALUES (4, 3, 95);
INSERT INTO scores VALUES (5, 3, 75);
現在我們想要求出每個學生的總成績,可以使用下面的 SQL 語句:
SELECT students.name, SUM(scores.score) AS total_score
FROM students
INNER JOIN scores ON students.id = scores.student_id
GROUP BY students.id;
這個 SQL 語句使用 INNER JOIN 關鍵字連接兩個表,并使用 GROUP BY 關鍵字對結果進行分組。我們可以看到,結果中包含了每個學生的名字和總成績。
如果我們想要進一步過濾數據,可以在 WHERE 子句中添加條件。例如,如果只想查詢總成績大于 180 分的學生,可以使用以下 SQL 語句:
SELECT students.name, SUM(scores.score) AS total_score
FROM students
INNER JOIN scores ON students.id = scores.student_id
WHERE total_score >180
GROUP BY students.id;
注意到這里我們使用了別名 total_score 來代表求和的結果,并在 WHERE 子句中使用它進行過濾。
總之,在 MySQL 中進行兩個表的關聯求和和匯總數據是十分常見和基礎的操作,但需要注意一些細節和條件。希望這篇文章對您有所幫助。
上一篇jquery addid
下一篇如何將圖片弄進css里