FULL JOIN 和 INNER JOIN 是 SQL 中兩種不同類型的連接查詢
- FULL JOIN(全連接):
FULL JOIN 會(huì)返回兩個(gè)表中所有的數(shù)據(jù)行,包括匹配和不匹配的行。當(dāng)某行在一個(gè)表中沒(méi)有匹配的行時(shí),結(jié)果集中的其他表的列將顯示為 NULL。換句話說(shuō),F(xiàn)ULL JOIN 結(jié)果集中的行數(shù)等于兩個(gè)表中的行數(shù)之和,減去兩個(gè)表中相同鍵值的行數(shù)。
語(yǔ)法:
SELECT column_name(s)
FROM table1
FULL JOIN table2
ON table1.column_name = table2.column_name;
- INNER JOIN(內(nèi)連接):
INNER JOIN 只返回兩個(gè)表中具有匹配關(guān)系的數(shù)據(jù)行。如果某行在一個(gè)表中沒(méi)有匹配的行,則該行不會(huì)出現(xiàn)在結(jié)果集中。因此,INNER JOIN 結(jié)果集中的行數(shù)等于兩個(gè)表中相同鍵值的行數(shù)。
語(yǔ)法:
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;
總結(jié):
- FULL JOIN 返回兩個(gè)表中所有的數(shù)據(jù)行,包括匹配和不匹配的行;
- INNER JOIN 只返回兩個(gè)表中具有匹配關(guān)系的數(shù)據(jù)行。