如何在 MySQL 中模擬 FULL JOIN?

DDD
發布: 2024-11-15 21:15:03
原創
801 人瀏覽過

How to Emulate a FULL JOIN in MySQL?

理解MySQL FULL JOIN的限制

在MySQL中,與其他一些關聯式資料庫不同,沒有直接支援FULL JOIN操作。這意味著要實現問題中所述的預期結果需要採用不同的方法。

在 MySQL 中模擬 FULL JOIN

要在 MySQL 中模擬 FULL JOIN,建議使用解決方法涉及 LEFT JOIN 和 RIGHT JOIN 的組合。其實作方式如下:

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;
登入後複製

此查詢有效地產生兩個表(t_13 和 t_17)的笛卡爾積,然後過濾掉兩個值為 NULL 的行。結果是一個表,其中包含兩個表中的所有行,甚至包括另一個表中沒有匹配值的行,確保表示所有可能的組合。

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

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