MySQL不支持外連接的說法是不正確的。實際上,MySQL支持標準的外連接(outer join)和不同類型的外連接。
標準的外連接語法如下:
SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.column = table2.column;
上面的語法表示從table1表中選擇所有行,并匹配table2表中的行,如果匹配不上,會返回NULL值。這就是典型的左外連接(left outer join)。
MySQL還支持右外連接(right outer join)和全外連接(full outer join),它們的語法如下:
--右外連接 SELECT * FROM table1 RIGHT OUTER JOIN table2 ON table1.column = table2.column; --全外連接 SELECT * FROM table1 LEFT OUTER JOIN table2 ON table1.column = table2.column UNION SELECT * FROM table1 RIGHT OUTER JOIN table2 ON table1.column = table2.column;
在這些語法中,LEFT OUTER JOIN可以用RIGHT OUTER JOIN代替,從而產生相同的結果,只是順序不同。
因此,可以看出,MySQL支持各種類型的外連接,而不是不支持。