在MySQL中,表連接是非常常用的查詢語句,可以幫助我們在多個表中查詢數據,常見的表連接方式有四種:
1. INNER JOIN 2. LEFT JOIN 3. RIGHT JOIN 4. FULL OUTER JOIN
下面我們來逐一介紹這四種方式的用法和區別。
1. INNER JOIN
INNER JOIN又稱為內連接,是最常用的連接方式之一,用于返回兩個表中滿足條件的記錄。語法如下:
SELECT ... FROM table1 INNER JOIN table2 ON condition;
其中,table1和table2表示要連接的兩個表,condition表示連接條件。INNER JOIN返回的結果集將包含兩個表中滿足條件的行。
2. LEFT JOIN
LEFT JOIN又稱為左連接,是從左表中返回所有的數據行,同時根據條件篩選右表中的數據行,如果右表中沒有符合條件的數據,則以NULL填充。語法如下:
SELECT ... FROM table1 LEFT JOIN table2 ON condition;
LEFT JOIN返回的結果集將包含兩個表中滿足條件的行,加上左表中不符合條件的行和右表中為空的行。
3. RIGHT JOIN
RIGHT JOIN又稱為右連接,和LEFT JOIN剛好相反,是從右表中返回所有的數據行,并根據條件篩選左表中的數據行,如果左表中沒有符合條件的數據,則以NULL填充。語法如下:
SELECT ... FROM table1 RIGHT JOIN table2 ON condition;
RIGHT JOIN返回的結果集將包含兩個表中滿足條件的行,加上右表中不符合條件的行和左表中為空的行。
4. FULL OUTER JOIN
FULL OUTER JOIN又稱為全外連接,在MySQL中不支持該連接方式,但可以通過UNION操作實現。其實 FULL OUTER JOIN 相當于 LEFT JOIN 和 RIGHT JOIN 的集合,即返回兩個表中不符合條件的所有行。語法如下:
SELECT ... FROM table1 LEFT JOIN table2 ON condition UNION SELECT ... FROM table1 RIGHT JOIN table2 ON condition;
以上就是MySQL中四種不同的表連接方式,我們可以根據實際需求選擇不同的方式來查詢數據,實現更加復雜的結果。