JOIN(= INNER JOIN):返回匹配的結果,沒有匹配則沒結果;
LEFT JOIN(= LEFT OUTER JOIN):返回匹配的與左表的所有數據;
RIGHT JOIN(= RIGHT OUTER JOIN):返回匹配的與右表的所有數據;
FULL JOIN(= FULL OUTER JOIN):返回兩個表的所有數據,匹配的在同一行。
在oracle中的測試結果:
AAA表數據 BBB表數據
CCC表數據
SELECT * FROM AAA A JOIN BBB B ON A.ID = B.ID;
SELECT * FROM AAA A JOIN CCC B ON A.ID = B.ID;
SELECT * FROM AAA A LEFT JOIN BBB B ON A.ID = B.ID;
SELECT * FROM AAA A LEFT JOIN CCC B ON A.ID = B.ID;
SELECT * FROM AAA A RIGHT JOIN BBB B ON A.ID = B.ID;
SELECT * FROM AAA A RIGHT JOIN CCC B ON A.ID = B.ID;
SELECT * FROM AAA A FULL JOIN BBB B ON A.ID = B.ID;
SELECT * FROM AAA A FULL JOIN CCC B ON A.ID = B.ID;