MySQL數(shù)據(jù)庫(kù)左外連接的概念:
左外連接是一種聯(lián)結(jié)方式,在MySQL的SELECT語(yǔ)句中,用LEFT JOIN關(guān)鍵字表示。它可以將兩個(gè)表中的記錄按照指定的字段進(jìn)行對(duì)應(yīng),并保留左表中所有的記錄,而右表中如果沒有符合條件的記錄,則相應(yīng)的字段值為NULL。
SELECT * FROM 左表 LEFT JOIN 右表 ON 左表字段 = 右表字段;
舉例說明:
現(xiàn)有兩張表格T1、T2,其中T1表中有三個(gè)用戶的信息,T2表中有兩個(gè)用戶的信息,如下圖所示:
+------+------+--------+ +------+------+--------+
| id | name | age | | id | name | age |
+------+------+--------+ +------+------+--------+
| 1 | A | 20 | | 2 | B | 25 |
+------+------+--------+ +------+------+--------+
| 2 | B | 25 | | 3 | C | 30 |
+------+------+--------+ +------+------+--------+
| 3 | C | 30 | +------+------+--------+
執(zhí)行以下左外連接的SQL語(yǔ)句:
SELECT * FROM T1 LEFT JOIN T2 ON T1.id = T2.id;
結(jié)果如下:
+------+------+--------+------+------+--------+
| id | name | age | id | name | age |
+------+------+--------+------+------+--------+
| 1 | A | 20 | NULL | NULL | NULL |
+------+------+--------+------+------+--------+
| 2 | B | 25 | 2 | B | 25 |
+------+------+--------+------+------+--------+
| 3 | C | 30 | NULL | NULL | NULL |
+------+------+--------+------+------+--------+
可以看到,由于T1表中有三個(gè)用戶的信息,而T2表中只有兩個(gè)用戶的信息,所以執(zhí)行左外連接時(shí),左表T1中沒有與右表T2中id=3的記錄對(duì)應(yīng)的用戶信息,對(duì)應(yīng)列的值為NULL。
總結(jié):
左外連接可以在兩個(gè)表之間建立起聯(lián)系,并保留左表中的所有記錄,即使右表中沒有相應(yīng)的記錄。在實(shí)際的開發(fā)過程中,左外連接可以解決某些問題,例如查詢某一用戶是否有消費(fèi)記錄等。