MySQL中的连接可以帮助我们查询两个或更多的表,并将它们的结果集合并为单个结果集。连接种类主要有内连接、左连接、右连接和全连接。本文将着重介绍左连接和右连接的写法。
左连接
左连接(left join)是连接的一种形式,它允许我们获取左边表中所有记录和右边表中与左边表中相应记录匹配的记录。如果之前没有学过左连接,可能这样的描述有些模糊。下面我们来看一下左连接的代码实现:
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON table_name1.column_name = table_name2.column_name;
我们可以看到,使用LEFT JOIN关键字并在后面跟上ON子句,其中指定了需要连接的两个表及它们之间的联合条件。如果我们想要获取table_name1的所有记录,不管是否在table_name2中有匹配记录,都可以使用左连接。
右连接
右连接(right join)与左连接类似,只不过是将右边表的记录进行完整保留,左边表匹配不到的记录将使用NULL填充。下面是右连接的代码实现:
SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON table_name1.column_name = table_name2.column_name;
同左连接,我们使用RIGHT JOIN关键字并在后面跟上ON子句,指定需要连接的两个表及它们之间的联合条件。