<i id='jBDHY'><tr id='jBDHY'><dt id='jBDHY'><q id='jBDHY'><span id='jBDHY'><b id='jBDHY'><form id='jBDHY'><ins id='jBDHY'></ins><ul id='jBDHY'></ul><sub id='jBDHY'></sub></form><legend id='jBDHY'></legend><bdo id='jBDHY'><pre id='jBDHY'><center id='jBDHY'></center></pre></bdo></b><th id='jBDHY'></th></span></q></dt></tr></i><div id='jBDHY'><tfoot id='jBDHY'></tfoot><dl id='jBDHY'><fieldset id='jBDHY'></fieldset></dl></div>

    • <bdo id='jBDHY'></bdo><ul id='jBDHY'></ul>
  1. <legend id='jBDHY'><style id='jBDHY'><dir id='jBDHY'><q id='jBDHY'></q></dir></style></legend>

  2. <tfoot id='jBDHY'></tfoot>

      <small id='jBDHY'></small><noframes id='jBDHY'>

      如何在 MySQL 中进行完全外部联接?

      时间:2023-08-19
    1. <legend id='x2fSX'><style id='x2fSX'><dir id='x2fSX'><q id='x2fSX'></q></dir></style></legend>
          <i id='x2fSX'><tr id='x2fSX'><dt id='x2fSX'><q id='x2fSX'><span id='x2fSX'><b id='x2fSX'><form id='x2fSX'><ins id='x2fSX'></ins><ul id='x2fSX'></ul><sub id='x2fSX'></sub></form><legend id='x2fSX'></legend><bdo id='x2fSX'><pre id='x2fSX'><center id='x2fSX'></center></pre></bdo></b><th id='x2fSX'></th></span></q></dt></tr></i><div id='x2fSX'><tfoot id='x2fSX'></tfoot><dl id='x2fSX'><fieldset id='x2fSX'></fieldset></dl></div>

          <small id='x2fSX'></small><noframes id='x2fSX'>

            <bdo id='x2fSX'></bdo><ul id='x2fSX'></ul>
            <tfoot id='x2fSX'></tfoot>
              <tbody id='x2fSX'></tbody>

              1. 本文介绍了如何在 MySQL 中进行完全外部联接?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

                问题描述

                我想做一个全外连接 在 MySQL 中.这可能吗?MySQL 是否支持全外连接?

                推荐答案

                你在 MySQL 中没有 full joins,但你可以确定 模仿他们.

                You don't have full joins in MySQL, but you can sure emulate them.

                对于从这个堆栈溢出问题转录的代码示例 你有:

                For a code sample transcribed from this Stack Overflow question you have:

                有两个表 t1、t2:

                With two tables t1, t2:

                SELECT * FROM t1
                LEFT JOIN t2 ON t1.id = t2.id
                UNION
                SELECT * FROM t1
                RIGHT JOIN t2 ON t1.id = t2.id
                


                上述查询适用于全外连接操作不会产生任何重复行的特殊情况.上面的查询依赖于 UNION 集合运算符来删除查询模式引入的重复行.我们可以通过对第二个查询使用 anti-join 模式来避免引入重复行,然后使用 UNION ALL 集合运算符将两个集合组合起来.在更一般的情况下,全外连接会返回重复的行,我们可以这样做:


                The query above works for special cases where a full outer join operation would not produce any duplicate rows. The query above depends on the UNION set operator to remove duplicate rows introduced by the query pattern. We can avoid introducing duplicate rows by using an anti-join pattern for the second query, and then use a UNION ALL set operator to combine the two sets. In the more general case, where a full outer join would return duplicate rows, we can do this:

                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
                

                这篇关于如何在 MySQL 中进行完全外部联接?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!

                上一篇:MySQL 错误 1093 - 无法在 FROM 子句中指定更新的目标 下一篇:INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN 有什么区别

                相关文章

                最新文章

                <small id='dqN7K'></small><noframes id='dqN7K'>

              2. <tfoot id='dqN7K'></tfoot>
                  <legend id='dqN7K'><style id='dqN7K'><dir id='dqN7K'><q id='dqN7K'></q></dir></style></legend>

                1. <i id='dqN7K'><tr id='dqN7K'><dt id='dqN7K'><q id='dqN7K'><span id='dqN7K'><b id='dqN7K'><form id='dqN7K'><ins id='dqN7K'></ins><ul id='dqN7K'></ul><sub id='dqN7K'></sub></form><legend id='dqN7K'></legend><bdo id='dqN7K'><pre id='dqN7K'><center id='dqN7K'></center></pre></bdo></b><th id='dqN7K'></th></span></q></dt></tr></i><div id='dqN7K'><tfoot id='dqN7K'></tfoot><dl id='dqN7K'><fieldset id='dqN7K'></fieldset></dl></div>
                    <bdo id='dqN7K'></bdo><ul id='dqN7K'></ul>