Я получил это:Почему COUNT (*) умножает результаты при наличии нескольких таблиц?
SELECT
COUNT(*)
FROM
TABLE1,
TABLE2,
TABLE3;
Say TABLE1 имеет 5 записей, TABLE2 имеет 5 записей, и Table3 имеет один, COUNT (*), по существу становится 5 * 5 * 1 = 25. Есть ли причина это? В идеале, я хочу, чтобы суммарный ряд строк из всех трех таблиц не должен был использовать несколько из операторов.
Посмотрите определение CROSS JOIN – Mihai
Посмотрите, что 'select * from table1, table2, table3' делает – njzk2
Поскольку вы делаете декартовое соединение между всеми тремя таблицами, что приводит к любой возможной комбинации значений между тремя , – Siyual