多表命令

runtao.zhong 于 2026-08-04 发布

“所有” 字眼时注意使用外连接。

SQL92 语法(旧)

SELECT A, B
FROM a,
     b
WHERE a.C = b.C -- 靠共有列 C 连接

SQL99 语法(推荐)

内连接

SELECT A, B
FROM a(INNER)
         JOIN b ON a.C = b.C

外连接

-- 左外连接:保留左表完整
SELECT A, B
FROM a LEFT (OUTER) JOIN b
ON a.C = b.C

-- 右外连接:保留右表完整
SELECT A, B
FROM a RIGHT (OUTER) JOIN b
ON a.C = b.C

满外连接

-- MySQL 不支持 FULL OUTER JOIN,用 UNION 替代
SELECT A, B
FROM a
         LEFT JOIN b ON a.C = b.C
UNION
SELECT A, B
FROM a
         RIGHT JOIN b ON a.C = b.C

合并结果集

其他连接方式