Другими словами, логически соединение становится внутренним.
В запросе
SELECT C.custid, C.companyname, O.orderid, O.orderdate FROM Sales.Customers AS C LEFT OUTER JOIN Sales.Orders AS O ON C.custid = O.custid WHERE O.orderdate >= '20070101';
выполняется левое внешнее соединение таблиц Customers (Клиенты) и Orders (Заказы). Перед применением фильтра из элемента where операция соединения возвращает внутренние строки, включающие клиентов, сделавших заказы, и внешние строки с атрибутами заказа, равными null, включающие клиентов, не сделавших ни одного заказа. Предикат O.orderdate >= '20070101' в элементе where равен unknown для всех внешних строк, поскольку они содержат значение null в атрибуте о.orderdate. Все внешние строки отбрасываются элементом where и применение внешнего соединения бесполезно. Результат без применения WHERE O.orderdate >= '20070101';
Результат с применением WHERE O.orderdate >= '20070101';
Вывод итоговых значений COMPUTE - формирует итоги, которые появляются в дополнительном столбце в конце результирующего набора. При использовании с ключевым словом BY предложение COMPUTE формирует в результирующем наборе сегменты и промежуточные итоги. В одном запросе можно указать одновременно COMPUTE BY и COMPUTE. Синтаксис [ COMPUTE { { AVG | COUNT | MAX | MIN | STDEV | STDEVP | VAR | VARP | SUM } ( expression ) } [,... n ] [ BY expression [,... n ] ] ] Аргументы: AVG | COUNT | MAX | MIN | STDEV | STDEVP | VAR | VARP | SUM - указывает статистическую функцию для выполнения.
Читайте также: I. Психологические и поведенческие техники, подготавливающие к увеличению продолжительности жизни. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|