Ответ 1
Составная инструкция SELECT представляет собой два или более оператора SELECT, связанных операторами UNION, UNION ALL, EXCEPT или INTERSECT. Мы называем каждую отдельную инструкцию SELECT в составе SELECT "термином".
Генератор кода в SQLite обрабатывает сложные инструкции SELECT с использованием рекурсивного алгоритма. Чтобы ограничить размер стека, мы поэтому ограничиваем количество членов в составе SELECT. Максимальное количество терминов - SQLITE_MAX_COMPOUND_SELECT, значение по умолчанию - 500. Мы считаем, что это щедрое выделение, так как на практике мы почти никогда не видим, чтобы количество членов в составном элементе превышало отдельные цифры.
Максимальное количество составных терминов SELECT можно снизить во время выполнения, используя интерфейс sqlite3_limit (db, SQLITE_LIMIT_COMPOUND_SELECT, размер).
Для получения дополнительной информации, пожалуйста, проверьте это... http://www.sqlite.org/limits.html