Вопрос:
Для двух таблиц T1 и T2.
T1 T2 ——— A 1 B 2 C 3
Вы делаете запрос:
SELECT * FROM T1, T2
Что такое no: из строк, которые извлекаются из этого запроса?
(a) 4 (b) 5 (c) 6 (d) 9
Ответ: 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