Главная » Просмотр файлов » Программирование баз данных MS SQL Server

Программирование баз данных MS SQL Server (1084479), страница 22

Файл №1084479 Программирование баз данных MS SQL Server (Программирование баз данных MS SQL Server) 22 страницаПрограммирование баз данных MS SQL Server (1084479) страница 222018-01-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 22)

Безусловно, можно было бы получить требуемые результаты, подсчитав количество строк с помощью калькулятора, но проще воспользоваться конструкцией ОЕООР ВХ с агрегирующей функцией; в данном случае будет применяться агрегирующая функция БОИ(): БЕЬЕСТ Огс(ег10, БОМ(осапсасу) РНОМ (огсег Оеса11я] ИНЕНЕ Огсег10 ВЕТИЕЕИ 11000 ЛНО 11002 ОНООР ВХ Огсег10 Выполнение этого запроса приводит к получению требуемых результатов: Огс(е г10 11000 11001 11002 85 116 135 (3 гоя(я) аггессес) БЕЬЕСТ Сиясовег10, Евр1суее10, СОПИТ(*) РВОМ Огс(егя ИНЕНЕ Ссясовег10 ВЕТИЕЕН 'Д' ДИО 'ДО' ОНООР Ву Сеясовег10, Евр1оуее10 Выполнение этого запроса приводит к получению данных о количестве, но сами данные о количестве определяются с учетом того, сколько заказов каждый конкретный служащий принял от каждого конкретного заказчика: Как и следовало ожидать, функция ЯОМ возвращает итоговые результаты, но к чему относятся эти итогиг Если не задана конструкция ОРООР ВХ, то результаты, полученные с помощью функции БОМ, охватывают все значения из всех строк в заданном столбце.

Но в данном случае конструкция ОНООР ВХ предусмотрена, поэтому суммы, подсчитанные с помощью функции ЯОИ, являются итогами для каждой группы. Группирование данных с помощью конструкции ОЕООР ВХ может также осуществляться с учетом значений из нескольких столбцов. Для этого достаточно вводить запятые и задавать имена очередных столбцов. Предположим, например, что необходимо определить номера заказов, принятых каждым служащим от заказчиков с идентификаторами Спяговег10, от )1 до АО.

Для этой цели можно воспользоваться конструкцией ОЕООР ВХ, включив в нее и столбец Евр1оуее1О, и столбец Спясовег10 (назначение функции СООИТ () описано ниже): Вар1оу 1О Созоотег1О (11 гон(з( аттеооес() Обратите внимание на то, что при использовании конструкции ОВООР Вх каждый столбец в списке выборки оператора ЯЕЬЕОТ должен представлять собой либо столбец, указанный в конструкции ОВООР Вт, либо результат агрегирования. Эти два случая рассматриваются в следующих разделах.

Результаты агрегировании Анализ данных, которые обычно формируются с использованием конструкции ОВООР Вт, показывает, что эти данные представляют собой результаты агрегирования с помощью функций, воздействующих на группы данных. Например, в одном из приведенных выше запросов была получена сумма по столбцу Япапстсу. Эта сумма была рассчитана по выбранному столбцу и возвращена применительно к каждой группе, определенной в конструкции ОВООР Вт; в данном случае рассматривался только столбец Ого(ег1В. Количество предусмотренных в СУБД ЯЯЕ Яегтег агрегирующих функций весьма велико, но в данном разделе рассматриваются наиболее широко применяемые функции этого типа.

АГрЕГИоруЮГщИЕ:(рОИКЦУии(Стаиогвлтсиисеиболее, уд(збимми:при., использовании,л'Сочетании 'с(крйсттрукциейт(еобг,'. вг." но' 'есзможиостьих; примененииие::отрейичиеаетсл:.группирог азиными зелрббеми;,(зепрссами с(кбистрткцией4дорр,:Вт),:если егрйгиуру(сщаи фзйкцил йрИМЕИ7ЛЕтСЛ' В',.'ЗЕПррбв;-6ра:КснртруКцИИР аВО(ГР.;ВТ",,тО'ЕЕ'дЕйостЕИЕ:раелрсто(тораеввтСЛ'Иа-, 'аЕСЬ рЕЗуЛЬтИрУК(ЩИй(иабОР,ТНЕ:.ВСЕ СтРбКИ,,'Кстар(ЯЕ СООтев(Ствушт'КОИСтРулоцИИ ИНВЦК(1', Здесь вова(йее-есгего' проиетсЬ что(В'ЗапРбоах:6еоз', коонстурукцоци':-'аВОРР-'"Ву,,-'нЕКОтОРЫге:алгРеги=' РУЮЩ1(асфУИКЦИИ МОГУТ;:ПРИМЕИЛтЬСЯ В'СПИСКЕ ВНВОРКИ ТОЛЬКАО 'В;:СОЭЕтаоНИИ С'(ЗЗУГИМИ"-аГРЕТ М(руЮщИМИ ФуйжцЧИЛМИ;: ЙНЬИйИСЛ7ОВЕМИ";ТЕСЛоИКОНСтруКцсле аВООР:-Вт йЕ ПрьдуоСМОтрЕИЕ1 'ТО рйЕратср'ЕЫбсср((И ИЕ;Моск(вт-';СсдоЕржатАЬ аторЕГйруошрщИЕ фуН((цИИ,"-'Парныв'6О.'СтНОШЕНИЮЗ К ИМВйанг ЕтОЛбцье(ЕСПИСК3Е ЕыбОрКИ:НаорИМЕр;:ЕСЛИ Оотеутбтеувт КОИСтф(хцИя длоср.Вт, 'тО фУНКЦИЛ А(2Р МсжвтПРИМЕИЛтЬСИ тСЛЬКЕ В СОЧЕтаНИИ СфоУИК((ИЕй' ВОИ;:ИО НЕСОЛрвдвлейиьмм.бтолбцрм Функ(клл уча Эта функция применяется для вычисления средних значений.

Вначале предпримем попытку выполнить тот же запрос, что и перед этим, но на этот раз модифицируем его таким образом, чтобы получить среднее количество деталей в расчете на каждый заказ, а не общее количество по каждому заказу: АЬГК1 Антон АЬГК1 АИАТЛ Антон АЬГК1 АМАТА Антон ААГК1 АМАТК Антон 1 1 3 3 3 4 б 7 7 Основные операторы языка Т-БЯЕ 95 2 1 1 г 3 2 1 1 1 1 2 96 Глава 3 ВЕЬЕСТ Огбег10, АУЗ(опапсьсу) РВОМ [Огб Оеса11з) ХНЕНЕ Огбег10 ВЕТХЕЕН 11000 АНО 11002 СНООР ВУ Огбегго Обратите внимание на то, что полученные результаты существенно изменилисгс Огбег10 11000 11001 11002 28 29 ЗЗ (3 гон(з) ассесгеб) Эти итоговые данные можно проверить самостоятельно: в заказе номер 11000 присутствуют три разные позиции, составляющие в сумме 85, а 85 + 3 = 28.

33. Автор предвидит возможные возражения читателей, которые могут заявить, что полученное среднее значение равно 28. 33, так зачем его округлять до 28. Эти возражения вполне оправданы, но причиной получения этих данных является то, что на них распространяются правила приведения типа. 1УРиведение типа мы РассмотРим более пофобно немного позже, а пока достаточно отнгтить, что зто — процесс, с помо(цью котфого система автоматически преобу)азует один тип в другой. В данном случае расчеты в системе начинались с целых чисел позтому система обеспечила и возврагл результатов в виде целых ч сел (несмотря на то, что зто привело х поте[ге десятых долей в данных).

НЕВЕСТ Огбег10, М1Х(опапсасу) РРОМ [Огбег Оеса11З) ХНЕНЕ Огбег10 ВЕТХЕЕХ 11000 АНО 11002 СНООР ВУ Огбег10 Выполнение этого запроса приводит к получению следующих результатов: Огбег10 11000 11001 11002 25 6 15 (3 гон(з) асбесгеб) Модифицируем этот запрос с учетом применения функции МАХ': НЕЬЕОТ Огбег10, МАХ(опапгзсу) РВОМ [Огбег Оега11з) ХНЕНЕ Огбег10 ВЕТХЕЕХ 11000 АХО 11002 ОНООР ВУ Огбег10 Функции МПР и М))с)с Имена этих функций говорят сами за себя. Данные функции действительно определяют минимальное и максимальное значения для каждой группировки в выбранном столбце. Воспользуемся тем же запросом, но модифицированным с учетом применения функции МТУЕ( Основные операторы языка Т-БЯТ. 97 Теперь полученные результаты выглядят так: Отбетто 11000 11ОО1 11002 30 60 56 (3 тоа(з) агбестеб) А что было бы, если бы потребовалось одновременно воспользоваться функциями М1М и МЛХ? Это также возможно.

Достаточно включить обе эти функции в запрос: ЗЕЬЕСт Отбетго, М1И(Оааас1ту),МЛХ(Оааат1ту) ГНОМ [Отбет Оета11з] ИНЕВЕ Отбет10 ВЕТИЕЕИ 11000 АНО 11002 ОНООР ВУ Огбет10 В полученных результатах появляется дополнительный столбец, но обнаруживается определенный недостаток: Отбет10 25 б 15 30 60 56 11000 11001 11002 (3 тоа(а) аббесбеб) ЗЕЕЕСт Отбетто, Мгн(оаааттту) ЛЗ М1а1 а, МЛХ(Оааатгту) ЛЗ Мах' ГРОМ [Отбет Рета11з] ИНЕНЕ Отбег10 ВЕТИЕЕИ 11000 АИВ 11002 ОНООР ВУ Отбет10 Теперь разобраться в полученных результатах становится немного проще: Махлаиа Мта1ааа Отбет10 25 б 15 30 60 56 11000 11001 11002 (3 теа(з) аббестеб) Может лн читатель определить, в чем состоит этот недостаток? Было получено все, что требовалось, но теперь количество столбцов с агрегированными данными больше одного, поэтому при отсутствии контекста нелегко догадаться, для чего предназначен тот или иной столбец. Разумеется, в данном конкретном примере можно быть уверенным в том, что столбец с наибольшими значениями создан с помощью функции млх, а столбец с наименьшими значениями — с помощью функции м1М, но не всегда можно столь же просто выяснить, к чему относится каждый столбец.

Поэтому воспользуемся возможностью задать псевдоним [а[[аз). Псевдонимы позволяют изменять имена столбцов в результирующем наборе и создаются с использованием ключевого слова Ля, как показано ниже. 98 Глава В Следует отметить, что ключевое слово АЯ является необязательным. Но было время (предшествующее появлению версии Я(21. Яегчег 6.5), когда это ключевое слово даже не рассматривалось как допустимое. Вы можете выполнить тот же запрос, что и перед этим, но удалить из текста запроса два ключевых слова АЯ, и вы убедитесь в том, что будет получен точно такой же результат. Следует также отметить, что псевдоним можно задать для любого столбца (и даже, как будет описано в следующей главе, для имени таблицы), а не только для результатов агрегирования. Выполним повторно данный конкретный запрос, но на этот раз зададим псевдонимы для каждого столбца, а в некоторых позициях не будем использовать ключевое слово АЯ: ЯЕЬЕСТ Охоес10 АЯ "Осс)ес Нпньес", М1Н(0папппеу) М1п1нпн, МАХ(Опаппьпу) Махглпп РВОМ (Огаег Оега11з) ГНЕВЕ Огс)ег10 ВЕТХЕЕН 11000 АНО 11002 ОВООР ВУ Огаег10 Несмотря на то что в некоторых позициях ключевое слово АЯ пропущено, все равно имя каждого столбца изменилось в соответствии с указанными требованиями: Мах ).пппп Огаес НпнЬег Мйоквои 11000 11001 11002 25 6 15 30 60 56 (3 гон(з) агееспеа) Авто должен признать, что не всегда п)тедусмат)тавает применение ключевого слова АЯ в конст))уку х опредегения псевдонимов, но должен также отметить зто как свой недостаток.

Характеристики

Тип файла
PDF-файл
Размер
39,07 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6314
Авторов
на СтудИзбе
312
Средний доход
с одного платного файла
Обучение Подробнее