给出2个表T1和T2.
T1 T2
---------
A 1
B 2
C 3
Run Code Online (Sandbox Code Playgroud)
你提出一个问题:
SELECT *
FROM T1, T2
Run Code Online (Sandbox Code Playgroud)
从此查询中获取的行的no:是什么?
(a) 4
(b) 5
(c) 6
(d) 9
Run Code Online (Sandbox Code Playgroud)
为什么答案是"9"?
Mar*_*ers 79
两个表之间的逗号表示CROSS JOIN,它给出了两个表的笛卡尔积.您的查询相当于:
SELECT *
FROM T1
CROSS JOIN T2
Run Code Online (Sandbox Code Playgroud)
结果是第一个表中的一行与第二个表中的一行的每个配对.因此,结果中的行数是原始表中行数的乘积.在这种情况下,答案是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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
17064 次 |
最近记录: |