MySQL多個表的左連接查詢
在MySQL數據庫中,我們通常需要查詢多個表的數據,例如一個學生表和一個成績表,如果我們想要查出每個學生的成績信息,就需要使用聯表查詢。而在聯表查詢中,最常見的方式就是使用左連接查詢。
什么是左連接?
左連接是指以一張表為基礎,連接另一張表的數據,并返回該表中所有的記錄及其對應的關聯記錄。如果關聯表中沒有匹配的記錄,則該記錄仍然返回,但是其對應的字段值將為NULL。
左連接查詢語句格式
對于兩張表的左連接,查詢語句格式如下:
SELECT 表1.字段1, 表1.字段2, 表2.字段1, 表2.字段2... FROM 表1 LEFT OUTER JOIN 表2 ON 表1.字段 = 表2.字段;
其中,LEFT OUTER JOIN就表示左連接查詢。表1和表2分別表示兩張要連接的表,字段則表示要連接的字段。
實例
以學生表和成績表為例,假設它們的結構如下:
CREATE TABLE student ( id INT PRIMARY KEY, name VARCHAR(20), age INT ); CREATE TABLE score ( id INT PRIMARY KEY AUTO_INCREMENT, student_id INT, score INT, FOREIGN KEY (student_id) REFERENCES student(id) );
我們可以使用以下查詢語句來查出每個學生的成績:
SELECT student.name, score.score FROM student LEFT OUTER JOIN score ON student.id = score.student_id;
其中,學生表和成績表通過LEFT OUTER JOIN連接,并且以學生表為基礎,返回了學生表中的所有記錄以及其對應的成績信息,如果某個學生沒有成績,則返回NULL。
總結
左連接是聯表查詢中的一種,它可以讓我們查詢多張表的數據并保留所有記錄。在MySQL中,我們可以使用LEFT OUTER JOIN關鍵字來實現左連接查詢,并且它可以應用在各種不同的場景中。