2024年09月14日 SQL JOIN ON 用法 极客笔记
在 SQL 中,JOIN 是用于连接两个或多个表的语句,通过 JOIN 可以实现在多个表中查询相关联数据的功能。而 ON 则是用于指定 JOIN 条件的子句,即指定连接两个表的条件。在本文中,我们将详细讨论 SQL JOIN ON 的用法,并给出一些示例以帮助读者更好地理解。
内连接是最常用的一种连接方式,它会返回两个表中满足连接条件的行,如果没有匹配的行,则不会返回任何数据。下面是 INNER JOIN 的用法示例:
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
在上面的示例中,我们首先选择了 Orders 表中的 OrderID 列和 Customers 表中的 CustomerName 列,然后使用 INNER JOIN 连接这两个表,并指定连接条件为 Orders 表的 CustomerID 列等于 Customers 表的 CustomerID 列。
左连接会返回左表中的所有行,以及右表中满足连接条件的行。如果右表中没有匹配的行,则会返回 NULL 值。下面是 LEFT JOIN 的用法示例:
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
LEFT JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
在上面的示例中,我们使用 LEFT JOIN 将 Orders 表与 Customers 表连接起来,返回了 Orders 表中的所有行,并匹配了 Customers 表中相应的行,如果没有匹配的行则会返回 NULL 值。
右连接与左连接相反,它会返回右表中的所有行,以及左表中满足连接条件的行。如果左表中没有匹配的行,则会返回 NULL 值。下面是 RIGHT JOIN 的用法示例:
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
RIGHT JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
在上面的示例中,我们使用 RIGHT JOIN 连接 Orders 表和 Customers 表,返回了 Customers 表中的所有行,并匹配了 Orders 表中相应的行,如果没有匹配的行则会返回 NULL 值。
全连接会返回左表和右表中的所有行,并将不匹配的行以 NULL 值呈现。下面是 FULL JOIN 的用法示例:
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
FULL JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
在上面的示例中,我们使用 FULL JOIN 将 Orders 表和 Customers 表连接起来,返回了两个表中的所有行,并将不匹配的行以 NULL 值呈现。
除了连接两个表外,SQL 也支持连接多个表。下面是一个连接三个表的示例:
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
在上面的示例中,我们连接了 Orders 表、Customers 表和Shippers 表,将这三个表关联起来,并返回了相应的字段。
通过以上示例,读者应该对 SQL JOIN ON 的用法有了初步的了解。在实际应用中,JOIN 是非常常用的功能,能够帮助我们查询和分析具有关联关系的数据。
本文链接:http://so.lmcjl.com/news/13024/