MySQL兩張表左關(guān)聯(lián)的介紹
左關(guān)聯(lián)是一種常用的關(guān)聯(lián)方式,指出現(xiàn)在的表(左表)會(huì)全部顯示,而右表中匹配的行會(huì)有相應(yīng)的顯示。當(dāng)右表中無(wú)匹配時(shí),所有結(jié)果也會(huì)被顯示,但右表中的行將會(huì)有空值。
MySQL內(nèi)部提供了LEFT JOIN語(yǔ)句,該語(yǔ)句實(shí)現(xiàn)了兩張表的左關(guān)聯(lián)。其基本語(yǔ)法如下:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name;
其中,column_name(s)是需要從表中查詢的列名,table1和table2是需要關(guān)聯(lián)查詢的兩張表,column_name是兩張表所需要關(guān)聯(lián)的列名。
MySQL左關(guān)聯(lián)查詢的實(shí)現(xiàn)方法
對(duì)于MySQL左關(guān)聯(lián)聯(lián)合查詢的實(shí)現(xiàn),以下是一些需要注意的細(xì)節(jié):
1、ON子句如果關(guān)聯(lián)多個(gè)表,則需要在相應(yīng)的列名前指定相關(guān)的表名。例如:
SELECT o.OrderID, o.OrderDate, c.CustomerName FROM Customers c LEFT JOIN Orders o ON c.CustomerID = o.CustomerID;
2、在LEFT JOIN關(guān)鍵字右側(cè)的表中,如果有值與左側(cè)表的列值匹配,則返回一個(gè)完整的結(jié)果集。如果沒(méi)有匹配,則返回NULL值。如果一個(gè)左表中的行在右表中多次匹配,LEFT JOIN將返回多個(gè)結(jié)果集。
3、在MySQL中,LEFT JOIN關(guān)鍵字常常用于合并兩個(gè)或多個(gè)表,同時(shí)保留原表數(shù)據(jù)。