MySQL连表查询
连表查询在MySQL中通常使用JOIN
语句来实现,主要有几种类型:INNER JOIN
(内连接)、LEFT JOIN
(左连接)、RIGHT JOIN
(右连接)和FULL OUTER JOIN
(全外连接)。
以下是一个简单的内连接查询示例:
SELECT a.column1, b.column2
FROM tableA a
INNER JOIN tableB b ON a.common_field = b.common_field;
左连接查询返回左表的所有记录以及右表中匹配的记录,如果右表没有匹配,则结果为NULL:
SELECT a.column1, b.column2
FROM tableA a
LEFT JOIN tableB b ON a.common_field = b.common_field;
右连接查询返回右表的所有记录以及左表中匹配的记录,如果左表没有匹配,则结果为NULL:
SELECT a.column1, b.column2
FROM tableA a
RIGHT JOIN tableB b ON a.common_field = b.common_field;
全外连接查询返回左表和右表中的所有记录,对于没有匹配的记录,相应的位置填充NULL:
SELECT a.column1, b.column2
FROM tableA a
FULL OUTER JOIN tableB b ON a.common_field = b.common_field;
请注意,MySQL不直接支持FULL OUTER JOIN
,但可以通过UNION
来模拟全外连接的效果:
SELECT a.column1, b.column2
FROM tableA a
LEFT JOIN tableB b ON a.common_field = b.common_field
UNION
SELECT a.column1, b.column2
FROM tableA a
RIGHT JOIN tableB b ON a.common_field = b.common_field;
评论已关闭