在 MySQL 中模擬 FULL JOIN
在 MySQL 中,不直接支援 FULL OUTER JOIN。但是,可以實現一種解決方法來模擬其功能。
典型的方法涉及使用兩個 UNION ALL 查詢:
SELECT t_13.value AS val13, t_17.value AS val17 FROM t_13 LEFT JOIN t_17 ON t_13.value = t_17.value UNION ALL SELECT t_13.value AS val13, t_17.value AS val17 FROM t_13 RIGHT JOIN t_17 ON t_13.value = t_17.value WHERE t_13.value IS NULL ORDER BY COALESCE(val13, val17) LIMIT 30
此查詢最初執行 LEFT JOIN,然後執行 UNION ALL透過右連接。 WHERE 條件確保包含在 LEFT JOIN 中不符合的行。最後,COALESCE 用來處理 NULL 值。
透過組合這些步驟,MySQL 可以模擬 FULL OUTER JOIN,從而能夠從兩個表中檢索所有行,即使它們沒有匹配的值。
以上是如何在MySQL中模擬FULL JOIN?的詳細內容。更多資訊請關注PHP中文網其他相關文章!