MySQL连表查询
warning:
这篇文章距离上次修改已过471天,其中的内容可能已经有所变动。
连表查询在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;
评论已关闭