在SQL中,可以使用连接(JOIN)或合并(UNION)操作来将多个表的数据进行合并或连接成一行。
连接操作是通过在两个或多个表之间共享一个或多个列的值来合并表的数据。常见的连接类型有内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN)。
内连接(INNER JOIN)是最常用的连接类型,它返回在两个表中都存在的行。
左连接(LEFT JOIN)返回左表中的所有行,以及满足连接条件的右表中的匹配行。如果右表中没有匹配的行,则返回NULL值。
右连接(RIGHT JOIN)与左连接相反,返回右表中的所有行,以及满足连接条件的左表中的匹配行。如果左表中没有匹配的行,则返回NULL值。
全连接(FULL JOIN)返回左表和右表中的所有行,如果左表或右表中没有匹配的行,则返回NULL值。
示例代码:
SELECT *
FROM 表1
INNER JOIN 表2
ON 表1.列 = 表2.列;
SELECT *
FROM 表1
LEFT JOIN 表2
ON 表1.列 = 表2.列;
SELECT *
FROM 表1
RIGHT JOIN 表2
ON 表1.列 = 表2.列;
SELECT *
FROM 表1
FULL JOIN 表2
ON 表1.列 = 表2.列;
合并操作使用UNION关键字将两个或多个SELECT语句的结果合并为一个结果集。合并操作要求每个SELECT语句返回的列数和数据类型必须相同。
示例代码:
SELECT 列1, 列2
FROM 表1
UNION
SELECT 列1, 列2
FROM 表2;
需要注意的是,连接操作适用于将具有相同或相似数据的表进行关联,合并操作适用于将两个或多个具有相同结构的表的数据合并。
领取专属 10元无门槛券
手把手带您无忧上云