在 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;
这里,
column1
和column2
- 表的列table1
和table2
- 我们要组合的表的名称
示例: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 命令组合了 Customers、Orders 和 Shippings 表中的行,以创建笛卡尔积。
带别名的 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;
在此示例中,c
、o
和 s
分别是 Customers、Orders 和 Shippings 表的别名。
这些别名使查询更简洁易读。
另请阅读