С учетом двух таблиц T1 и T2.
T1 T2
---------
A 1
B 2
C 3
Вы делаете запрос:
SELECT *
FROM T1, T2
Что такое число строк, которые выбираются из этого запроса?
(a) 4
(b) 5
(c) 6
(d) 9
Почему ответ «9»?
Запятая между двумя таблицами означает CROSS JOIN , что дает декартово произведение двух таблиц. Ваш запрос эквивалентен:
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