SQL联查案例
2026/9/17 2:30:17 网站建设 项目流程

SQL 联查(Join)是将来自两个或多个表的数据结合在一起的操作。以下是一些常用的 SQL 联查示例,包括内联接、左联接、右联接和全外联接。

示例数据库表和数据

1. Customers (客户表)
CustomerIDNameCity
1AliceNew York
2BobLos Angeles
3CharlieChicago
4DavidSan Francisco
5EveMiami
2. Orders (订单表)
OrderIDCustomerIDOrderDateAmount
10112025-01-15150.00
10212025-02-20200.00
10322025-01-25300.00
10432025-03-05450.00
10542025-04-10500.00

查询和输出效果

1. 内联接 (INNER JOIN)

查询所有下过订单的客户及其订单信息:

SELECT Customers.CustomerID, Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount FROM Customers INNER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

输出结果:

CustomerIDNameOrderIDOrderDateAmount
1Alice1012025-01-15150.00
1Alice1022025-02-20200.00
2Bob1032025-01-25300.00
3Charlie1042025-03-05450.00
4David1052025-04-10500.00
2. 左联接 (LEFT JOIN)

查询所有客户及其订单信息,包括没有下过订单的客户:

SELECT Customers.CustomerID, Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

输出结果:

CustomerIDNameOrderIDOrderDateAmount
1Alice1012025-01-15150.00
1Alice1022025-02-20200.00
2Bob1032025-01-25300.00
3Charlie1042025-03-05450.00
4David1052025-04-10500.00
5EveNULLNULLNULL
3. 右联接 (RIGHT JOIN)

查询所有订单及其客户信息,包括没有客户信息的订单:

SELECT Customers.CustomerID, Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount FROM Customers RIGHT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

输出结果:

CustomerIDNameOrderIDOrderDateAmount
1Alice1012025-01-15150.00
1Alice1022025-02-20200.00
2Bob1032025-01-25300.00
3Charlie1042025-03-05450.00
4David1052025-04-10500.00
4. 全外联接 (FULL OUTER JOIN)

查询所有客户与所有订单的信息,包括没有匹配的客户和订单:

SELECT Customers.CustomerID, Customers.Name, Orders.OrderID, Orders.OrderDate, Orders.Amount FROM Customers FULL OUTER JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

输出结果:

CustomerIDNameOrderIDOrderDateAmount
1Alice1012025-01-15150.00
1Alice1022025-02-20200.00
2Bob1032025-01-25300.00
3Charlie1042025-03-05450.00
4David1052025-04-10500.00
5EveNULLNULLNULL

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询