SQL 两个表组合查询
几种常用的方法:
1. 内连接 (INNER JOIN)
内连接返回两个表中都有匹配的行。
SELECT A.*, B.* FROM 表A AS A INNER JOIN 表B AS B ON A.某字段 = B.某字段
2. 左连接 (LEFT JOIN)
左连接返回左表(表A)的所有行,即使右表(表B)中没有匹配的行。
SELECT A.*, B.* FROM 表A AS A LEFT JOIN 表B AS B ON A.某字段 = B.某字段
3. 右连接 (RIGHT JOIN)
右连接返回右表(表B)的所有行,即使左表(表A)中没有匹配的行。
SELECT A.*, B.* FROM 表A AS A RIGHT JOIN 表B AS B ON A.某字段 = B.某字段
4. 全连接 (FULL JOIN)
全连接返回两个表中至少有一个匹配的行。在MySQL中,可以用UNION来实现。
SELECT A.*, B.* FROM 表A AS A LEFT JOIN 表B AS B ON A.某字段 = B.某字段 UNION SELECT A.*, B.* FROM 表A AS A RIGHT JOIN 表B AS B ON A.某字段 = B.某字段
5. 交叉连接 (CROSS JOIN)
交叉连接返回两个表的笛卡尔积。
SELECT A.*, B.* FROM 表A AS A CROSS JOIN 表B AS B