use classicmodels;
select Orders.OrderNumber,
Customers.CustomerName, Orders.Status, orders.shippeddate,
Customers.Country
from Customers **cross join/inner join** Orders
on Customers.CustomerNumber = Orders.customerNumber
order by 1 asc
大家好,我真的很困惑为什么inner join
在我的查询中与cross join
的结果有什么不同?我认为cross join
会产生笛卡尔积,但两个连接都给了我326行。我还看到某个地方我不应该使用非唯一数据?
答案 0 :(得分:1)
来自MySQL JOIN文档:
在MySQL中,JOIN,CROSS JOIN和INNER JOIN是语法等价物 (他们可以互相替换)。在标准SQL中,它们不是 当量。 INNER JOIN与ON子句一起使用,使用CROSS JOIN 否则。