Given 2 tables T1 and T2.
T1 T2
A 1
B 2
C 3
You make a query SELECT * FROM T1, T2.
What is the no: of rows that are fetched from this query?
答案是9
答案 0 :(得分:10)
答案 1 :(得分:3)
因为第一个表中的每个记录都与第二个表的每个记录一起返回,结果不会被过滤。
确切的输出将是:
T1 T2
A 1
A 2
A 3
B 1
B 2
B 3
C 1
C 2
C 3
(订单可能有所不同)
答案 2 :(得分:2)
这是一个笛卡尔积:选择一个表(3)中的所有行和另一个表(3)中的所有行并组合它们,因此3 * 3 = 9。
答案 3 :(得分:0)
这就是你要求它做的。您获得了T1
中的所有行以及来自T2
的所有行。它们不仅仅是加在一起 - 如果列不同,这将不起作用,例如,虽然您可以使用UNION
执行此操作 - 它们将被合并到所谓的“笛卡尔积”中。您基本上可以从两个表中获取所有行的组合。并3*3 = 9
。