如果有人可以帮我解释一下这意味着什么,我发现了以下查询并感激不尽。
select * from table1, table2
答案 0 :(得分:8)
这称为CROSS JOIN
,但在,
子句中使用FROM
的旧语法。
它生成笛卡尔积,因此结果集中的行数将是table1
中的行数乘以table2
中的行数(假设{中没有约束} {1}}条款)。它有效地将WHERE
中的每一行与来自table1
的行进行对。
下面的查询是一个等价的但是做了明确的table2
操作,它将数据检索的约束逻辑与连接在不同表中存储的相关数据的逻辑分开:
JOIN
答案 1 :(得分:1)
您将获得table1中的所有行乘以table2中的所有行,并将根据两个表的列显示。正如@sgeddes所指出的那样,创建了一个笛卡尔积。
答案 2 :(得分:0)
表1(Col1,Col2)有4个记录
表2(Col11,Col22,Col33),3条记录
当您使用下面给出的查询时,它将产生NxM行数(笛卡尔加入)
select * from table1, table2
下面给出两个表的结果和列序列,其中4 x 3 = 12个记录。 Col1,Col2,Col11,Col22,Col33