📜  MS SQL Server 中的左连接和右连接(1)

📅  最后修改于: 2023-12-03 14:44:25.026000             🧑  作者: Mango

MS SQL Server 中的左连接和右连接

在 MS SQL Server 中,左连接(Left Join)和右连接(Right Join)是两个常用的连接操作,用于将两个表或视图之间的数据进行联接。连接操作可以基于两个表中的共同列进行匹配,从而将相关的行组合成结果集。

左连接(Left Join)

左连接返回左表中的所有行,以及与右表中匹配的行。如果右表中没有匹配的行,则结果集中右表的相关列将包含 NULL 值。

语法:

SELECT 列名
FROM 左表
LEFT JOIN 右表 ON 左表.共同列 = 右表.共同列;

示例:

SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
LEFT JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

上述示例中,左连接将 Orders 表和 Customers 表基于 CustomerID 列进行联接,返回所有的订单以及对应的客户姓名。如果某个订单没有对应的客户信息,则客户姓名列将显示为 NULL 值。

右连接(Right Join)

右连接返回右表中的所有行,以及与左表中匹配的行。如果左表中没有匹配的行,则结果集中左表的相关列将包含 NULL 值。

语法:

SELECT 列名
FROM 左表
RIGHT JOIN 右表 ON 左表.共同列 = 右表.共同列;

示例:

SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
RIGHT JOIN Customers ON Orders.CustomerID = Customers.CustomerID;

上述示例中,右连接将 Orders 表和 Customers 表基于 CustomerID 列进行联接,返回所有的客户信息以及对应的订单号。如果某个客户没有对应的订单,则订单号列将显示为 NULL 值。

总结

左连接和右连接是在 MS SQL Server 中进行联接查询的重要操作。左连接返回左表中的所有行和与右表匹配的行,右连接返回右表中的所有行和与左表匹配的行。对于没有匹配行的一方,相关列将被填充为 NULL 值。

通过使用左连接和右连接,程序员可以根据业务需求将不同表中的数据关联起来,实现更复杂的查询和分析操作。