SQL CROSS JOIN

在 SQL 中,CROSS JOIN(交叉连接)操作允许我们组合来自两个或多个表中的行,而无需它们之间存在任何特定的关系。

示例

SELECT * 
FROM Customers
CROSS JOIN Orders;

在这里,SQL 查询将 Customers 表的每一行与 Orders 表的每一行进行组合。


交叉连接 (CROSS JOIN) 语法

SQL CROSS JOIN 操作的语法是:

SELECT column1, column2, ...
FROM table1
CROSS JOIN table2;

这里,

  • column1column2 - 表的列
  • table1table2 - 我们要组合的表的名称

示例:SQL CROSS JOIN

SELECT Customers.customer_id, Customers.first_name, Orders.order_id
FROM Customers
CROSS JOIN Orders;

在这里,SQL 命令在 Customers 表和 Orders 表之间执行 CROSS JOIN 操作。

这会创建所有客户 ID 和名字与订单 ID 的笛卡尔积。

结果是每个客户与每个订单的组合。


多表交叉连接 (CROSS JOIN With Multiple Tables)

我们还可以对两个以上的表执行 CROSS JOIN。例如:

SELECT Customers.customer_id, Orders.item, Shippings.status
FROM Customers 
CROSS JOIN Orders 
CROSS JOIN Shippings;

在这里,SQL 命令组合了 CustomersOrdersShippings 表中的行,以创建笛卡尔积。


带别名的 SQL 交叉连接 (SQL CROSS JOIN With Aliases)

我们可以使用 别名 来简化和美化我们的代码片段。例如:

SELECT c.customer_id, o.item, s.status
FROM Customers c
CROSS JOIN Orders o
CROSS JOIN Shippings s;

在此示例中,cos 分别是 CustomersOrdersShippings 表的别名。

这些别名使查询更简洁易读。


另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战