【发布时间】:2015-11-28 19:26:25
【问题描述】:
我想在 memsql 中有一个完整的外部连接。类似的东西
SELECT *
FROM A FULL OUTER JOIN B
ON A.id = B.id
有可能吗?
【问题讨论】:
标签: outer-join full-outer-join singlestore
我想在 memsql 中有一个完整的外部连接。类似的东西
SELECT *
FROM A FULL OUTER JOIN B
ON A.id = B.id
有可能吗?
【问题讨论】:
标签: outer-join full-outer-join singlestore
MemSQL 似乎确实没有具有FULL OUTER JOIN 语法。但是,您应该能够使用 LEFT 和 RIGHT OUTER JOIN 操作的组合在 MemSQL 中模拟完全外连接:
SELECT * FROM A
LEFT OUTER JOIN B ON A.id = B.id
UNION ALL
SELECT * FROM A
RIGHT OUTER JOIN B on A.id = B.id
WHERE ISNULL(A.id)
第一个SELECT 覆盖橙色区域,即匹配A 和B 之间的记录以及A 中与B 中的任何内容都不匹配的记录。第二个查询只获取B 中与A 中的任何内容都不匹配的记录。使用 UNION ALL 而不是 UNION 可确保不会删除重复项。
【讨论】: