MySQL中的全連接關(guān)鍵字是“LEFT JOIN
”和“RIGHT JOIN
”。
LEFT JOIN
:左聯(lián)接是擁有左邊表的基礎聯(lián)接類型,其中左邊表的所有行都包括在結(jié)果集中。對于右邊表中與左邊表不匹配的行,結(jié)果集中將返回NULL值。這意味著左聯(lián)接可用于獲取左側(cè)表中既匹配又不匹配的數(shù)據(jù)。
SELECT *
FROM table1
LEFT JOIN table2
ON table1.id = table2.id;
RIGHT JOIN
:右聯(lián)接類似于左聯(lián)接,只是右邊表的所有行將包含在結(jié)果集中。對于左邊表中與右邊表不匹配的行,結(jié)果集中將返回NULL值。這意味著右聯(lián)接可用于獲取右側(cè)表中既匹配又不匹配的數(shù)據(jù)。
SELECT *
FROM table1
RIGHT JOIN table2
ON table1.id = table2.id;
如果要獲取所有行,則可以使用“FULL OUTER JOIN
”關(guān)鍵字。但是,MySQL不支持此關(guān)鍵字,而是可以使用“UNION
”運算符來實現(xiàn)。
SELECT *
FROM table1
LEFT JOIN table2
ON table1.id = table2.id
UNION
SELECT *
FROM table1
RIGHT JOIN table2
ON table1.id = table2.id;