我有两个表客户和销售。
客户:
custid custname loc 1001 aaa a 1002 bbb b 1003 ccc c
销售:
salesid salesname saleloc 1001 ddd d 1002 eee e
我查询
select count(1) from customer, sales
我得到计数结果为6
提前致谢。
答案 0 :(得分:3)
由于表未与键列连接,因此它变为CROSS JOIN。因此,客户行数*销售行数(3 * 2)总共变为6行,而count函数返回结果
答案 1 :(得分:1)
这只是CARTESIAN PRODUCT。
customer表的每一行都与sales表的每一行连接在一起。
例如,
1001 aaa a 1001 ddd d , 1002 eee e - >从客户表中获取一行时,链接与销售表中的所有行。
结果是3 * 2 = 6(客户表中有3行,销售表中有2行),同样3 * 3 = 9.(每个表中有3行)
这是它背后的逻辑。
答案 2 :(得分:0)
1)6是笛卡尔积的结果3 x 2
2)1)没有使用连接:它是笛卡尔积;
3)9是笛卡尔积的结果3×3