红移中的全外连接

full outer join in redshift

我有 2 tables A 和 B 带列,包含学生的一些详细信息(所有列都是整数):
答:
st_id,
st_subject_id,

乙:
st_id,
st_subject_id,
st_count1,
st_count2

st_id是学号,st_subject_id是科目号。
对于学生 ID 15,有以下条目:
答:
15 | 1
15 | 2
15 | 3

乙:
15 | 1 | 31 | 11
15 | 2 | 30 | 14
15 | 4 | 21 | 6
15 | 5 | 26 | 9

table A 中的 3 个科目和 table B 中的 4 个科目(2 个与 table A 匹配,另外 2 个额外)

我想将最终结果显示为:
15 | 1 | 31 | 11
15 | 2 | 30 | 14
15 | 3 |空 |空
15 | 4 | 21 | 6
15 | 5 | 26 | 9

这可以在 SQL 中使用完全外部联接或通过其他方法来完成吗?

我认为这样就足够了,但我现在无法测试。 合并意味着将从两个表中选择第一个非空值。

select
coalesce(A.st_id, B.st_id) st_id,
coalesce(A.st_subject_id, B.st_subject_id) st_subject_id,
B.st_count1,
B.st_count2

from A

full outer join B
on A.st_id = B.st_id and A.st_subject_id = B.st_subject_id