Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Мартин Грубер - Понимание SQL

Мартин Грубер - Понимание SQL (Мартин Грубер. Понимание SQL), страница 11

PDF-файл Мартин Грубер - Понимание SQL (Мартин Грубер. Понимание SQL), страница 11 Информационные технологии в материаловедении (5730): Книга - 9 семестр (1 семестр магистратуры)Мартин Грубер - Понимание SQL (Мартин Грубер. Понимание SQL) - PDF, страница 11 (5730) - СтудИзба2015-08-23СтудИзба

Описание файла

PDF-файл из архива "Мартин Грубер. Понимание SQL", который расположен в категории "". Всё это находится в предмете "информационные технологии в материаловедении" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "информационные технологии в материаловедении" в общих файлах.

Просмотр PDF-файла онлайн

Текст 11 страницы из PDF

Следующая команда будет запрещена:SELECT snum, MAX (amt)FROM OrdersGROUP BY snumHAVING odate = 10/03/1988;Поле оdate не может быть вызвано предложением HAVING, потому что оно может иметь (и действительно имеет) больше чем одно значение на группу вывода. Чтобы избегать такой ситуации, предложение HAVING должно ссылаться только наагрегаты и поля выбранные GROUP BY.

Имеется правильный способ сделать вышеупомянутый запрос (вывод показывается в Рисунке 6.8):SELECT snum, MAX (amt)FROM OrdersWHERE odate = 10/03/1990GROUP BY snum;=============== SQL Execution Log ==============| SELECT snum, odate, MAX (amt)|| FROM Orders|| GROUP BY snum, odate;|| =============================================== ||snum|| ------------||1001767.19||10025160.45||10141900.10||10071098.16|=================================================Рисунок 6.8: Максимальное значение суммы приобретений у каждогопродавца на 3 ОктябряПоскольку поля odate нет, не может быть и выбраных полей, значение этих данных меньше чем в некоторых других примерах.

Вывод должен вероятно включать чтонибудь такое, что говорит: "это — самые большие порядки на 3 Октября." В Главе 7,мы покажем как вставлять текст в ваш вывод.Как и говорилось ранее, HAVING может использовать только аргументы которыеимеют одно значение на группу вывода. Практически, ссылки на агрегатные функции— наиболее общие, но и поля выбранные с помощью GROUP BY также допустимы.Например, мы хотим увидеть наибольшие порядки для Serres и Rifkin:SELECT snum, MAX (amt)FROM OrdersGROUP BY snumHAVING snum B (1002,1007);Вывод для этого запроса показывается в Рисунке 6.9.=============== SQL Execution Log ==============| SELECT snum, MAX (amt)|| FROM Orders|| GROUP BY snum|| HAVING snum IN (1002, 1007);|| =============================================== ||snum|| ------------||10025160.45||10071098.16|=================================================Рисунок 6.9: Использование HAVING с GROUP BY полямиНЕ ДЕЛАЙТЕ ВЛОЖЕННЫХ АГРЕГАТОВВ строгой интерпретации ANSI SQL, вы не можете использовать агрегат агрегата.

Предположим что вы хотите выяснять, в какой день имелась наибольшая суммаприобретений. Если вы попробуете сделать это,SELECT odate, MAX ( SUM (amt) )FROM OrdersGROUP BY odate;то ваша команда будет вероятно отклонена. (Некоторые реализации не предписывают этого ограничения, которое является выгодным, потому что вложенные агрегатымогут быть очень полезны, даже если они и несколько проблематичны.) В вышеупомянутой команде, например, SUM должен применяться к каждой группе поля odate, аMAX ко всем группам, производящим одиночное значение для всех групп. Однакопредложение GROUP BY подразумевает что должна иметься одна строка вывода длякаждой группы поля odate.РЕЗЮМЕТеперь вы используете запросы несколько по-другому. Способность получать, ане просто размещать значения, очень мощна. Это означает что вы не обязательнодолжны следить за определенной информацией, если вы можете сформулироватьзапрос так, чтобы ее получить.

Запрос будет давать вам поминутные результаты, в товремя как таблица общего или среднего значений будет хороша только некотороевремя после ее модификации. Это не должно наводить на мысль, что агрегатныефункции могут полностью вытеснить потребность в отслеживании информации такойнапример как эта.Вы можете применять эти агрегаты для групп значений определенных предложением GROUP BY. Эти группы имеют значение поля в целом, и могут постоянно находиться внутри других групп которые имеют значение поля в целом.

В то же время,предикаты еще используются чтобы определять какие строки агрегатной функцииприменяются.Объединенные вместе, эти особенности делают возможным, производить агрегаты основанные на сильно определенных подмножествах значений в поле. Затем выможете определять другое условие для исключения определенных результатов группс предложением HAVING.Теперь, когда вы стали знатоком большого количества того как запрос производит значения, мы покажем вам, в Главе 7, некоторые вещи которые вы можете делатьсо значениями которые он производит.РАБОТА С SQL1. Напишите запрос, который сосчитал бы все суммы приобретений на 3 Октября.2.

Напишите запрос, который сосчитал бы число различных не-NULL значений поляcity в таблице Заказчиков.3. Напишите запрос, который выбрал бы наименьшую сумму для каждого заказчика.4. Напишите запрос, который бы выбирал заказчиков в алфавитном порядке, чьиимена начинаются с буквы G.5.

Напишите запрос, который выбрал бы высшую оценку в каждом городе.6. Напишите запрос, который сосчитал бы число заказчиков, регистрирующих каждыйдень свои порядки. (Если продавец имел более одного порядка в данный день, ондолжен учитываться только один раз.)(См. Приложение A для ответов.)7ФОРМИРОВАНИЕВЫВОДОВ ЗАПРОСОВЭТА ГЛАВА РАСШИРИТ ВАШИ ВОЗМОЖНОСТИ в работе с выводом которыйпроизводит запрос. Вы узнаете как вставлять текст и константы между выбранных полей, как использовать выбранные поля в математических выражениях, чьи результаты затем становятся выводом, и как сделать чтобы ваши значения выводились вопределенном порядке. Эта последняя особенность включена, чтобы упорядочиватьваш вывод по любым столбцам, любым полученным значениям этого столбца, или пообеим.СТРОКИ И ВЫРАЖЕНИЯБольшинство основанных на SQL баз данных предоставляют специальные средства позволяющие Вам совершенствовать вывод ваших запросов.

Конечно, они претерпевают значительные изменения от программы к программе, и их обсуждениездесь не входит в наши задачи, однако, имеются пять особенностей созданых в стандарте SQL которые позволяют вам делать больше чем просто вывод значений полейи агрегатных данных.СКАЛЯРНОЕ ВЫРАЖЕНИЕ С ПОМОЩЬЮ ВЫБРАННЫХ ПОЛЕЙПредположим что вы хотите выполнять простые числовые вычисления данныхчтобы затем помещать их в форму больше соответствующую вашим потребностям.SQL позволяет вам помещать скалярные выражения и константы среди выбраных полей.

Эти выражения могут дополнять или замещать поля в предложениях SELECT, имогут включать в себя одно или более выбранных полей. Например, вы можете пожелать, представить комиссионные вашего продавца в процентном отношении а не какдесятичные числа. Просто достаточно:SELECT snum, sname, city, comm * 100FROM Salespeople;Вывод из этого запроса показывается в Рисунке 7.1.=============== SQL Execution Log ============| SELECT snum, sname, city, comm * 100|| FROM Salespeople;|| ==============================================||snumsnamecity|| -------------- ------------------- ||1001PeelLondon12.000000 ||1002SerresSan Jose13.000000 ||1004MotikaLondon11.000000 ||1007RifkinBarcelona15.000000 ||1003AxelrodNew York10.000000 |===============================================Рисунок 7.1: Помещение выражения в вашем запросеСТОЛБЦЫ ВЫВОДАПоследний столбец предшествующего примера непомечен (т.е.

без наименования), потому что это — столбец вывода. Столбцы вывода — это столбцы данных созданные запросом способом, иным чем просто извлечение их из таблицы. Вы создаетеих всякий раз, когда вы используете агрегатные функции, константы, или выражения впредложении SELECT запроса. Так как имя столбца — один из атрибутов таблицы,столбцы которые приходят не из таблиц не имеют никаких имен. Другими словами не-помеченные, столбцы вывода могут обрабатываться также как и столбцы извлеченные из таблиц, почти во всех ситуациях.ПОМЕЩЕНИЕ ТЕКСТА В ВАШЕМ ВЫВОДЕ ЗАПРОСАСимвол 'A', когда ничего не значит сам по себе, — является константой, такойнапример как число 1.

Вы можете вставлять константы в предложение SELECT запроса, включая и текст. Однако символьные константы, в отличие от числовых констант,не могут использоваться в выражениях. Вы можете иметь выражение 1 + 2 в вашемпредложении SELECT, но вы не можете использовать выражение типа 'A' + 'B'; этоприемлемо только если мы имеем в виду что 'A' и 'B' это просто буквы, а не переменные и не символы.Тем ни менее, возможность вставлять текст в вывод ваших запросов оченьудобная штука.Вы можете усовершенствовать предыдущий пример представив комиссионныекак проценты со знаком процента (%). Это даст вам возможность помещать в выводтакие единицы как символы и комментарии, как например в следующем примере (вывод показывается в Рисунке 7.2)SELECT snum, sname, city, ' % ', comm * 100FROM Salespeople;=============== SQL Execution Log ============| SELECT snum, sname, city, '%', comm * 100|| FROM Salespeople;|| ==============================================||snumsnamecity|| ------ -------- ----------- ---- --------- ||1001PeelLondon%12.000000 ||1002SerresSan Jose%13.000000 ||1004MotikaLondon%11.000000 ||1007RifkinBarcelona%15.000000 ||1003AxelrodNew York%10.000000 |===============================================Рисунок 7.2: Вставка символов в ваш выводОбратите внимание что пробел перед процентом вставляется как часть строки.Эта же самая особенность может использоваться чтобы маркировать вывод вместе свставляемыми комментариями.

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