Сейчас на сайте
Сейчас на сайте 0 пользователей и 0 гостей.

Соотнесенные подзапросы и объединения

Как вы и могли предположить, соотнесенные подзапросы по природе близки к объединениям - они оба включают проверку каждой строки одной таблицы с каждой строкой другой ( или псевдонимом из той же ) таблицы. Вы найдете что большинство операций которые могут выполняться с одним из них будут также работать и с другим.

Однако имеется различие в прикладной программе между ними, такое как вышеупомянутая потребность в ИСПОЛЬЗОВАНИИ DISTINCT с объединением и его необязательность с подзапросом. Имеются также некоторые вещи, которые каждый может делать так, как этого не может другой. Подзапросы, например, могут использовать агрегатную функцию в предикате, дела возможным выполнение операций типа нашего предыдущего примера, в котором мы извлекли порядки, усредненные для их заказчиков. Объединения, с другой стороны, могут выводить строки из обеих сравниваемых таблиц, в то врем как вывод подзапросов используется только в предикатах внешних запросов. Как правило, форма запроса, которая кажется наиболее интуитивной будет вероятно лучшей в ИСПОЛЬЗОВАНИИ, но при этом хорошо бы знать обе техники для тех ситуаций, когда та или иная могут не работать.