Составной оператор 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, size).
для более подробной информации, пожалуйста, проверьте это ...
http://www.sqlite.org/limits.html