Подзапросы
Географические операторы, в частности, используются в комбинации с подзапросами.
Аксиома допускает использование подзапросов в SQL-запросе. Подзапрос - это запрос, задаваемый в окошке с условием диалога SQL-запрос. Аксиома сначала выполняет подзапрос, а затем уже использует его результаты в основном SQL-запросе.
Например, вы хотите выбрать все области, население в которых больше среднего. Другими словами, допустим, что средняя численность населения в городе составляет больше 3 миллионов человек, и необходимо выбрать города с численностью населения больше среднего.
Придется использовать следующая выборка:
Выбрать колонки: (*)
Из таблиц: RUSSIA
С условием:Население_1990 > (select Avg(Население_1990) from RUSSIA)
При работе с подзапросами следует учитывать:
- В подзапросах можно использовать таблицы, не упомянутые в окошке из таблиц. Но такие таблицы, конечно, должны быть перечислены в предложении «From» подзапроса (как показано в предыдущем примере).
- Если с подзапросом используется ключевое слово "any" или "all", он должен выдавать только одну колонку. Следующее предложение в запросе некорректно потому, что возвращает две колонки (state_name и Pop_1990):
any(select state_name, pop_1990 from states) - Если к подзапросу не относятся слова "any", "all" или "in", он должен возвращать единственное значение. Не допускается использование следующего варианта запроса потому, что возвращаются несколько строк:
obj within (select obj from states where POP_1990 > 2000000) - Если к подзапросу не относятся слова "any", "all" или "in", вы не можете использовать предложение Сгруппировать по колонкам в подзапросе.
- Нельзя вкладывать подзапросы друг в друга, т.е. в операторе запроса может быть не более одного подзапроса.