给出2个表T1和T2。
T1 T2
---------
A 1
B 2
C 3
您进行查询:
SELECT *
FROM T1, T2
从此查询中获取的行的no:是什么?
(a) 4
(b) 5
(c) 6
(d) 9
为什么答案为“9”?
答案 0 :(得分:71)
两个表之间的逗号表示CROSS JOIN,它给出了两个表的Cartesian product。您的查询等同于:
SELECT *
FROM T1
CROSS JOIN T2
结果是第一个表中的一行与第二个表中的一行的每个配对。因此,结果中的行数是原始表中行数的乘积。在这种情况下,答案是3 x 3 = 9。
行如下:
T1.foo T2.bar
A 1
A 2
A 3
B 1
B 2
B 3
C 1
C 2
C 3