MySQL是一種常用的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),有時(shí)候我們需要查詢?nèi)龔埍淼臄?shù)據(jù)。在MySQL中,使用JOIN關(guān)鍵字可以實(shí)現(xiàn)多表查詢。下面我們分別介紹INNER JOIN、LEFT JOIN和RIGHT JOIN三種JOIN的用法。
INNER JOIN
INNER JOIN也叫內(nèi)連接,它只返回兩張表中相互匹配的記錄,詳細(xì)語法如下:
SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name INNER JOIN table3 ON table2.column_name = table3.column_name;
其中,column_name選取的是需要顯示的字段名,table1、table2和table3分別是要連接的三張表的名稱,ON后面是連接條件。
LEFT JOIN
LEFT JOIN也叫左連接,它返回左表中所有記錄和右表中匹配的記錄,如果右表中沒有匹配記錄,則用NULL填充,詳細(xì)語法如下:
SELECT column_name(s) FROM table1 LEFT JOIN table2 ON table1.column_name = table2.column_name LEFT JOIN table3 ON table2.column_name = table3.column_name;
同樣的,column_name選取的是需要顯示的字段名,table1、table2和table3分別是要連接的三張表的名稱,ON后面是連接條件。
RIGHT JOIN
RIGHT JOIN也叫右連接,它返回右表中所有記錄和左表中匹配的記錄,如果左表中沒有匹配記錄,則用NULL填充,詳細(xì)語法如下:
SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name = table2.column_name RIGHT JOIN table3 ON table2.column_name = table3.column_name;
同樣的,column_name選取的是需要顯示的字段名,table1、table2和table3分別是要連接的三張表的名稱,ON后面是連接條件。