Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql中的完全外部联接,如果为空,则右边为空值_Mysql_Sql - Fatal编程技术网

mysql中的完全外部联接,如果为空,则右边为空值

mysql中的完全外部联接,如果为空,则右边为空值,mysql,sql,Mysql,Sql,我有一个标准,需要在MySQL中进行完全外部连接。以下是我的条件: 条件1)考虑表A,如果两个表中都存在行,则需要与表B连接。 条件2)考虑表A,如果表B中不存在行,则需要与表B一起加入空值。 我在这里查看了一篇关于完全外部连接的文章,在这个场景中我应该使用什么。请建议示例查询。您描述的是左连接,而不是完全连接: select . . . from a left join b on . . . 您很幸运,因为MySQL不支持完全连接。但是,您也不需要它。使用下面的查询运行它

我有一个标准,需要在MySQL中进行完全外部连接。以下是我的条件:

条件1)考虑表A,如果两个表中都存在行,则需要与表B连接。

条件2)考虑表A,如果表B中不存在行,则需要与表B一起加入空值。


我在这里查看了一篇关于完全外部连接的文章,在这个场景中我应该使用什么。请建议示例查询。

您描述的是
左连接
,而不是
完全连接

select . . .
from a left join
     b
     on . . .

您很幸运,因为MySQL不支持
完全连接
。但是,您也不需要它。

使用下面的查询运行它

(SELECT 
        *
    FROM
        Sow t1
            LEFT JOIN
        child_sow t2 ON t1.employee_id = t2.employee_id
        and t1.project_id = t2.project_id
    WHERE
        t2.employee_id IS NULL
        and t1.project_id in (1,2,3))

再看一看这篇文章。看一下左连接。您需要表A中的所有内容和表B中的匹配内容。
A左连接B
从A中获取所有内容。如果A中的一行与B匹配,则它从B中获取相应的行。否则,结果表的“B部分”全部为空。这相当于
B右连接A
根据您问题中的描述,完全不清楚您为什么认为需要完全外部连接。也许您应该提供一些示例数据,以及所需的输出,关于您试图做什么?我有一个主表a和事务表B。当用户上传数据时,主表被填充,事务表为空。最终事务表被加载。对于每次新上传,主表需要被截断并与事务表匹配。这是我的要求。