MySQL是一種非常流行的關系型數據庫管理系統。當我們需要從兩個或更多表中獲取數據時,我們可以使用聯合查詢。在這篇文章中,我們將討論如何執行這樣的查詢。
假設我們有兩個表:學生和課程。學生表包含以下列:學生ID、姓名和出生日期。課程表包含以下列:課程ID、課程名稱和學分。我們希望查詢所有已經選修了某門課程的學生(即學生和課程表有相同的課程ID)。
SELECT students.name, courses.course_name FROM students INNER JOIN courses ON students.course_id = courses.course_id;
在這個查詢中,在學生表和課程表之間建立了內部連接。我們指定了哪些列應該在SELECT語句中返回,以及如何在兩個表之間匹配數據。ON關鍵字指定我們應該使用哪個共同的列(課程ID)進行連接。
我們可以進一步添加條件來過濾結果。例如,我們可以只返回今年出生的學生:
SELECT students.name, courses.course_name FROM students INNER JOIN courses ON students.course_id = courses.course_id WHERE YEAR(students.birthdate) = '2022';
這個查詢使用WHERE語句來限制結果集,只返回生日在2022年的學生。
在本文中,我們探討了如何在MySQL中從兩個表中檢索數據。我們了解了聯合查詢和如何使用內部連接把兩個表連接起來。我們也看到了如何添加條件來過濾結果。在實際應用中,使用這些技術可以從多個表中獲取數據,從而為我們提供更有意義的結果。