Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
ОРГАНИЗАЦИЯ ЗАПРОСОВ К БАЗЕ ДАННЫХ НА ЯЗЫКЕ SQL⇐ ПредыдущаяСтр 125 из 125
Синтаксис оператора SELECT
Выборка с помощью оператора SELECT - наиболее частая команда при работе с реляционной базой данных. Этот оператор обладает большими возможностями по заданию структуры выходной информации, указанию источников входной информации, способа упорядочения выходной информации, формированию новых значений и т.п. (табл. 19.9).
Таблица 19.9. Аргументы оператора SELECT
При выполнении выборки могут формироваться и новые данные, так называемые вычисляемые поля, являющиеся результатом обработки исходных данных. Возможно упорядочение выводимых данных, формирование групп записей, подсчет групповых итогов, формирование подмножеств данных (записей), являющихся основой для формирования условий по обработке следующего этапа – вложенных запросов. Универсальный оператор SELECT имеет следующую конструкцию:
SELECT [предикат] { * | таблица.* | [таблица.]поле1 [, [таблица.]поле2.[,...]]} [AS псевдоним1 [, псевдоним2 [, ...]]] FROM выражение [,...] [IN внешняя_база_данных] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY...] [WITH OWNERACCESS OPTION]
Синтаксис оператора SELECT весьма лаконично реализует сложные алгоритмы запросов. Практическое освоение элементов постепенное – методом от простого к сложному, а отладка оператора сложной конструкции может идти по частям. Изучать оператор SELECT лучше всего на конкретных примерах. Слово SELECT определяет структуру выводимой информации, это могут быть поля таблиц, вычисляемые выражения. Вычисляемое выражение состоит из: полей таблиц; констант; знаков операций; встроенных функций; групповых функций SQL. Пример 19.72. SELECT [Имя], [Фамилия] FROM Студент SELECT TOP 5 [Фамилия] FROM Студент SELECT TOP 5 [Фамилия] FROM Студент ORDER BY [Группа]
В первом случае выбираются все записи таблицы Студент в составе указанных полей. Если отбираются все поля в том же самом порядке, что и в структуре таблицы, можно указать символ точки. Во втором случае отбирается 5 первых фамилий студентов, в третьем случае - выбирается 5 первых фамилий студентов, упорядочение записей осуществлено по учебным группам. Если используются одноименные поля из нескольких таблиц, включенных в предложение FROM, следует указать перед именем такого поля имя таблицы через. (точку): [Студент заочник].[Группа] и [Студент].[Группа] – два одноименных поля из разных таблиц. Для изменения заголовка столбца с результатами выборки используется служебное слово AS. Пример 19.73.
В первом случае будут выведены неповторяющиеся даты рождения студентов, которые имеют новое наименование – Юбилей. Во втором случае в результирующей таблице присутствуют все записи, но вместо [Дата рождения] указан Год и вместо Фамилия и Имя, соединенных вместе через пробел, – ФИО. Наиболее часто слово AS применяется для именования вычисляемых полей (см. ниже). Задание условий выборки
Предложение WHERE может содержать выражения, связанные логическими операторами, с помощью которых задаются условия выборки (табл. 19.10).
Таблица 19.10. Логические операторы для построения условий выборки
Кроме того, могут использоваться операторы для построения условий: LIKE – выполняет сравнение строковых значений; BETWEEN...AND – выполняет проверку на диапазон значений; IN – выполняет проверку выражения на совпадение с любым из элементов списка; IS – проверка значения на Null (пусто). Условие обеспечивает " горизонтальную" выборку данных, т.е. на выход " пройдут" только те записи, которые удовлетворяют сформулированным условиям. Пример 19.74.
В первом случае выбираются студенты, дата рождения которых позже 1.1.79. Во втором случае будут отобраны все студенты, обучающиеся в группах 1212 или 1213 и дата рождения которых позже 1.1.79. В третьем случае выбираются студенты, дата рождения которых находится в заданном диапазоне, и они обучаются в любой из указанных групп. В четвертом случае выбираются студенты, которые обучаются в тех же группах, что и студенты-заочники, дата рождения которых позже 1.1.79. Групповые функции SQL
Групповые функции необходимы для определения статистических данных на основе наборов числовых значений: Avg – вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса; Count – вычисляет количество выделенных записей в запросе; Min, Max – возвращают минимальное и максимальное значения из набора в указанном поле запроса; StDev, StDevPs - возвращают среднеквадратическое отклонение генеральной совокупности и выборки для указанного поля в запросе; Sum – возвращает сумму значений в заданном поле запроса; Var, VarPs – возвращают дисперсию распределения генеральной совокупности и выборки для указанного поля в запросе. Для определения полей группирования указывается ключевое слово GROUP BY. Можно указать также слово HAVING для заданного условия по группе при вычислении групповых значений. Пример 19.75.
SELECT Фамилия, Аvg(Результат) AS Средний_балл FROM Результаты GROUP BY [№ зач.книжки]
SELECT [Код дисциплины], Аvg(Результат) AS Средний_балл FROM Результаты GROUP BY [Код дисциплины]
В первом случае создается список фамилий студентов с указанием среднего балла по каждому студенту, во втором случае – список кодов дисциплин и средний балл по дисциплине. Пример 19.76. SELECT Фамилия, Avg(Результат) AS Средний_балл FROM Результаты GROUP BY [№ зач.книжки] HAVING Аvg(Результат) > 4.5 SELECT [Код дисциплины], Avg(Результат) AS Средний_балл FROM Результаты GROUP BY [Код дисциплины] HAVING Аvg(Результат) < 4
В первом случае создается список фамилий студентов с указанием среднего балла по каждому студенту, выводятся фамилии тех студентов, которые имеют средний балл выше 4.5. Во втором случае выводится список кодов дисциплин со средним баллом при условии, что он ниже 4. Подчиненный запрос
В инструкцию SELECT может быть вложена другая инструкция SELECT, SELECT...INTO, INSERT...INTO, DELETE или UPDATE. Различают основной и подчиненные запросы, которые являются вложенными в основной запрос. Подчиненный запрос можно использовать вместо выражения в списке полей инструкции SELECT или в предложениях WHERE и HAVING. Существуют три типа подчиненных запросов: сравнение (ANY | ALL | SOME) (инструкция); выражение [NOT] IN (инструкция); [NOT] EXISTS (инструкция). Первый тип – сравнение выражения с результатом подчиненного запроса. Ключевые слова: ANY – каждый (сравнение с каждым элементом подчиненной выборки). ALL – все (сравнение со всеми элементами подчиненной выборки). SOME – некоторые (сравнение с некоторыми элементами подчиненной выборки). Пример 19.77. SELECT* FROM Оценка WHERE [Результат] > ANY (SELECT [Результат] FROM Оценка WHERE Результат.[№ зач.книжки]=" 123124" )
Отбираются только те записи из таблицы Оценка, в которых значение результата больше (выше) каждой оценки студента с № зач.книжки 123124. Второй тип – выражение, которое должно быть найдено в наборе записей, являющихся результатом выполнения подчиненного запроса. Пример 19.78. SELECT * FROM Студент WHERE [№ зач.книжки] IN (SELECT [№ зач.книжки] FROM Оценка WHERE [Результат] > =4) SELECT * FROM Дисциплина WHERE [Код дисциплины] NOT IN (SELECT [Код дисциплины] FROM Оценка)
В первом случае отбираются студенты, которые в таблице Оценка имеют результат 4 или выше. Во втором случае отбираются дисциплины, которые не встречаются в таблице Оценка. Третий тип – инструкция SELECT, заключенная в круглые скобки, с предикатом EXISTS (с необязательным зарезервированным словом NOT) в логическом выражении для определения, должен ли подчиненный запрос возвращать какие-либо записи. Пример 19.79. SELECT* FROM Студент WHERE EXISTS (SELECT * FROM Оценка WHERE Сотрудник.[№ зач.книжки]= Оценка.[№ зач.книжки])
Отбираются студенты, которые имеют хотя бы одну оценку. КЛЮЧЕВЫЕ ПОНЯТИЯ
ВОПРОСЫ ДЛЯ САМОПРОВЕРКИ
Что такое среда работы конечного пользователя? Что такое интерфейс конечного пользователя? Что входит в состав сервиса прикладного программного обеспечения? Что такое АРМ? В чем заключается конфигурирование программно-технического комплекса? В чем состоит оперативное конфигурирование программного продукта? Что такое инсталляция программного продукта? Что входит в состав инструментальных средств конечного пользователя? Назовите основные средства настройки пакета Microsoft Office. Назовите общие параметры настройки пакета Microsoft Office. Назовите локальные параметры настройки пакета Microsoft Office. Что входит в состав стандартных дополнений Excel 5.0? Как осуществляется настройка главного меню Word 6.0? Как осуществляется настройка главного меню Excel 5.0? Что такое пользовательская панель инструментов? Как создаются панели инструментов пользователя в Word 6.0? Как создаются панели инструментов пользователя в Excel 5.0? Что такое " горячие" клавиши? Как происходит назначение " горячих" клавиш в Word 6.0? Как происходит назначение " горячих" клавиш в Excel 5.0? Дайте определение макрокоманды, макроса. Что такое макропрограммирование? Что такое клавишная макрокоманда? Что такое языковая макрокоманда? Как создаются макрокоманды в Word 6.0? Как создаются макрокоманды в Excel 5.0? Что такое шаблон документа в Word 6.0? Что такое шаблон рабочей книги в Excel 5.0? Что такое автошаблон в Excel 5.0? Назовите основные понятия языка VBA. Назовите основные объекты языка VBA, их свойства и методы обработки. Дайте определение переменных, массивов, констант языка VBA. Какова спецификация переменных, массивов и констант по сфере их действия? Назовите основные типы операторов языка VBA. Дайте определение процедуры языка VBA. Дайте определение функции языка VBA. Каковы типы управляющих структур языка VBA? Назовите основные типы операций по обработке файлов языка VBA. Как работают с последовательными файлами? Как работают с файлами произвольного доступа? Что такое диалоговое окно языка VBA? Назовите характерные особенности диалоговых окон различных видов. Какие элементы управления используются в диалоговом окне пользователя? Как осуществляется форматирование элементов диалогового окна пользователя? Дайте определение модели данных. Что такое реляционная таблица (отношение)? Какова схема реляционной таблицы? Назовите типовые операции обработки записей реляционной таблицы. Назовите типовые операции совместной обработки нескольких реляционных таблиц. Приведите классификацию реляционных языков. Что такое dBASE-подобные реляционные языки? Дайте характеристику языка QBE. Каково назначение языка SQL? Назовите основные типы операторов языка SQL. Как строится запрос с использованием оператора SELECT? Что такое подзапрос? Как специфицируются дополнительные условия выборки данных? Что такое групповая обработка? Каковы функции групповой обработки? ЛИТЕРАТУРА
1. Першиков В.И., Савинков В.М. Толковый словарь по информатике. – 2-е изд., доп. - М.: Финансы и статистика, 1995. 2. Ботт Эд . Microsoft Office 4 (Серия " Без проблем! " ) / Пер. с англ. - М.: БИНОМ, 1996. 3. Потапкин А.В. Основы Visual Basic для пакета Microsoft Office: Практ. пособие. - М.: ЭКЛМ, 1995. 4. Орвис Вильям Дж . Visual Basic for Applications на примерах / Пер. с англ. - М.: БИНОМ, 1996.
ОБ АВТОРАХ МАКАРОВА Наталья Владимировна – руководитель авторского коллектива, профессор, доктор педагогических наук, кандидат технических наук, член Международной академии наук высшей школы и Академии информатизации образования. Работает в Санкт-Петербургском университете экономики и финансов на кафедре экономической информатики. Автор более 100 научно-методических работ, в том числе нескольких книг в Ленинградском отделении издательства " Машиностроение", изданных тиражом несколько сотен тысяч экземпляров: " Основы компьютерной грамоты", " Работаем на персональном компьютере единой системы", " Работаем на персональном компьютере Роботрон 1715", " Работаем на персональном компьютере серии ДВК", а также работ, определяющих концепцию обучения по информатике в экономическом вузе: монография " Методология обучений новым информационным технологиям", учебные пособия " Статистический анализ и прогнозирование экономической информации в электронной таблице Excel 5.0" и " Руководство к лабораторным работам по освоению и использованию в менеджменте ППП TIME LINE (управление проектами)", методические статьи. Область научных интересов – методика преподавания информатики, информационные системы и технологии в экономике, обучающие системы, компьютерное моделирование. МАТВЕЕВ Леонид Анатольевич – доктор экономических наук, профессор кафедры экономической информатики Санкт-Петербургского университета экономики и финансов. Автор более 80 печатных работ, в числе которых монографии: " Информационные системы: поддержка принятия решений", " Моделирование в информационных системах", " Системы поддержки принятия решений". Область научных интересов - моделирование экономических процессов, поддержка принятия решений. БРОЙДО Владимир Львович – кандидат технических наук, профессор кафедры вычислительных систем и программирования Санкт-Петербургской государственной инженерно-экономической академии. Издано более 80 работ, в числе которых: " Достоверность надежности систем обработки данных", " Обеспечение надежности систем обработки данных", " Методы и модели обеспечения надежности и достоверности систем обработки данных", " Научные основы организации управления и построения АСУ", " ПЭВМ: архитектура и программирование на ассемблере". Область научных интересов – информатика и вычислительная техника. ГАВРИЛОВА Татьяна Альбертовна – доктор технических наук, профессор кафедры компьютерных интеллектуальных технологий Санкт-Петербургского государственного технического университета, председатель Петербургского отделения Ассоциации искусственного интеллекта. Автор более 100 научных публикаций, в том числе книги " Извлечение и структурирование знаний для экспертных систем". Область научных интересов – инженерия знаний, интеллектуальные обучающие системы, дистанционное обучение. РАМИН Евгений Львович - кандидат технических наук, доцент, заведующий кафедрой вычислительных систем и программирования Санкт-Петербургской государственной инженерно-экономической академии. Автор более 30 научных работ в области компьютерных технологий и применений информационных систем в экономике. Разработчик ряда проектов программного обеспечения, нашедших применение в различных организациях. Область научных интересов – обеспечение эффективности вычислительных процессов. ИЛЬИНА Ольга Павловна – кандидат экономических наук, доцент кафедры экономической информатики Санкт-Петербургского университета экономики и финансов. Автор порядка 40 работ, в числе которых наиболее значимыми являются: " Служба информационного обеспечения", " Разработка информационных баз АСУ", " Статистический анализ и прогнозирование экономической информации в электронной таблице Excel 5.0", " Текстовый редактор Word 6.0", " Использование функций Excel 5.0 в финансовом менеджменте". Область научных интересов – информационные системы в экономике. СТЕЛЬМАШОНОК Елена Викторовна - кандидат экономических наук, доцент кафедры вычислительных систем и программирования Санкт-Петербургской государственной инженерно-экономической академии. Автор около 50 печатных работ. Область научных интересов – программирование в среде СУБД. СТУПАК Виктор Борисович – доцент кафедры информационных систем в экономике и менеджменте Санкт-Петербургского государственного технического университета. Имеет порядка 50 публикаций, в том числе учебные пособия " Введение в диалоговые системы", " Компьютерные сети". Область научных интересов – информационные системы в экономике. Учебник
Популярное:
|
Последнее изменение этой страницы: 2017-03-11; Просмотров: 446; Нарушение авторского права страницы