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 

 

posted @ 2024-03-06 12:37  海乐学习  阅读(1054)  评论(0编辑  收藏  举报