跳转至

数据表

左表 L

id L值
a L_a
b L_b

右表 R

id R值
b R_b
c R_c

INNER JOIN

INNER JOIN L.id ∩ R.id = {b} a b c L = {a,b} R = {b,c}

结果(L ∩ R 的行)

id L值 R值
b L_b R_b

LEFT JOIN

LEFT JOIN 保留 L.id = {a,b} a b c L = {a,b} ✓ R = {b,c}

结果(保留 L 的全部行)

id L值 R值
a L_a NULL
b L_b R_b

RIGHT JOIN

RIGHT JOIN 保留 R.id = {b,c} a b c L = {a,b} R = {b,c} ✓

结果(保留 R 的全部行)

id L值 R值
b L_b R_b
c NULL R_c

FULL OUTER JOIN

FULL OUTER JOIN L.id ∪ R.id = {a,b,c} a b c L = {a,b} ✓ R = {b,c} ✓

结果(L ∪ R 的全部行)

id L值 R值
a L_a NULL
b L_b R_b
c NULL R_c

SEMI JOIN

SEMI JOIN L 中能在 R 找到的行 = {b}(仅输出 L 的列) a b c L = {a,b} R(不输出列)

结果(仅输出 L 的列,去重匹配行)

id L值
b L_b

ANTI JOIN

ANTI JOIN L 中在 R 找不到的行 = {a}(仅输出 L 的列) a b c L = {a,b} R(不输出列)

结果(仅输出 L 中无匹配的行,仅 L 列)

id L值
a L_a