You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将MySQL中Products表每行与Grade表所有行组合?

实现MySQL两表全组合(笛卡尔积)

你需要的是两个表的笛卡尔积——让Products表的每一行都和Grade表的所有行配对,普通带关联条件的JOIN无法实现这个效果,得用以下两种方式:

方式一:使用CROSS JOIN(标准写法)

这是最直观的写法,明确表示要做全组合:

SELECT p.Product, g.Grade
FROM Products p
CROSS JOIN Grade g;

方式二:不带关联条件的隐式连接

这种写法和CROSS JOIN效果完全一致,是早期SQL的常用写法:

SELECT p.Product, g.Grade
FROM Products p, Grade g;

关键说明

你之前用Join没成功,大概率是给Join加了不必要的关联条件(比如ON p.ID = g.ID),这样只会匹配ID相同的行,而你需要的是所有行的无差别组合,所以不能加任何关联条件。

内容的提问来源于stack exchange,提问作者R13

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 08:22:25