首頁 > 資料庫 > mysql教程 > 如何在 MySQL 中模擬 FULL OUTER JOIN?

如何在 MySQL 中模擬 FULL OUTER JOIN?

Susan Sarandon
發布: 2025-01-25 13:42:11
原創
590 人瀏覽過

How Can I Simulate a FULL OUTER JOIN in MySQL?

在MySQL中模擬FULL OUTER JOIN

MySQL本身並不支持FULL OUTER JOIN。但是,您可以結合使用LEFT JOIN、RIGHT JOIN和集合運算符來模擬它。

有限的FULL OUTER JOIN

對於FULL OUTER JOIN不會產生重複行的案例,您可以使用:

<code class="language-sql">SELECT * 
FROM t1
LEFT JOIN t2 
ON t1.id = t2.id
UNION
SELECT * 
FROM t1
RIGHT JOIN t2 
ON t1.id = t2.id</code>
登入後複製

UNION運算符消除了此查詢模式引入的重複行。

通用的FULL OUTER JOIN

對於可能出現重複行的通用情況,請使用:

<code class="language-sql">SELECT * 
FROM t1
LEFT JOIN t2 
ON t1.id = t2.id
UNION ALL
SELECT * 
FROM t1
RIGHT JOIN t2 
ON t1.id = t2.id
WHERE t1.id IS NULL</code>
登入後複製

UNION ALL運算符組合兩個JOIN的結果,附加的WHERE子句確保只將t1.id為NULL(在LEFT JOIN中未匹配)的行添加到最終結果中,從而消除重複項。

以上是如何在 MySQL 中模擬 FULL OUTER JOIN?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板