Формирование запросов на выборку данных в SQL
Select как достаточно сложный оператор, позволяющий выбирать данные из одной или нескольких таблиц, выполнять группировку, обработку данных с помощью агрегатных функций, формировать вложенные запросы. Порядок проведения сравнения полученных результатов.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | практическая работа |
Язык | русский |
Дата добавления | 28.11.2014 |
Размер файла | 1,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Для формирования запросов на выборку данных в SQL используется оператор SELECT. Его формат представлен ниже: SELECT [ALL I DISTINCT] selectitemcommalist FROM tablereferencecommalist [WHERE conditional_expression] [GROUP BY column_name_commalist] [HAVING conditionalexpression] [ORDER BY order item commalist]
SELECT является достаточно сложным оператором, позволяющим выбирать данные из одной или нескольких таблиц, выполнять группировку, обработку данных с помощью агрегатных функций, формировать вложенные запросы и т.д. Выражение SELECT обрабатывается целиком, а не «построчно», как обычно бывает в языках программирования. В несколько обобщенном виде схема выполнения оператора SELECT выглядит следующим образом:
1) выполняется раздел FROM;
2) выполняется раздел WHERE (если есть);
3) выполняется GROUP BY (если есть);
4) выполняется HAVING (если есть);
5) выполняются определения в разделе SELECT:
6) выполняется ORDER BY (если есть).
Начнем с рассмотрения обязательного раздела SELECT. В нем указывается список элементов выборки select-item-commalist, который не должен быть пустым. Также может использоваться ключевое слово ALL или DISTINCT. Первое из них указывает, что в результате запроса могут быть повторяющиеся строки, второе - что повторения отбрасываются. Например, используется ключевое слово
DISTINCT и есть три совпадающих строки, тогда в результате из них останется только одна. Когда явно ничего не указано, то подразумевается ALL.
Рассмотрим теперь пример с заданием имени столбца и использованием текстовой константы в столбце. Если необходимо явно указать, как столбец будет называться в выводимых результатах запроса, это можно сделать в списке элементов выборки в разделе SELECT. Новое имя указывается после исходного названия столбца через про - бел или после необязательного ключевого слова «as». Ниже приведен пример, в котором список фамилий и инициалов студентов сопровождается подписью «Фамилия и инициалы».
SELECT DISTINCT «Фамилия и инициалы» as Label1/ FIO FROM Students
Подпись задается с помощью строковой константы, которые в SQL берутся в одинарные кавычки. Называться столбец с подписью будет Label 1. Результат выполнения этого запроса для набора данных из табл. 7.2 представлен в табл. 7.3. Как отмечалось выше, ключевое слово «as» в SELECT можно пропустить, но иногда оно позволяет сделать текст на SQL более понятным.
Сравнение может производиться не только для чисел, но и для строковых значений (посимвольно), дат и т.д.
Если необходимо получить все значения из интервала, можно использовать конструкцию BETWEEN… AND…. Пусть имеется таблица Book с информацией о книгах, и в ней целочисленный стол - бец Year, содержащий год издания книги. Получить все книги, издан - ные с 1990 по 2002 год включительно, можно с помощью приведен - ного ниже запроса (т.к. «Year» для MS SQL Server является ключе - вым словом, название столбца снова в квадратных скобках). SELECT * FROM Book
WHERE (Year) BETWEEN 1990 AND 2002 Аналогичный результат даст запрос
SELECT * FROM Book
WHERE [Year]>=1990 AND [Year]<=2002
Если наоборот нужны все книги, кроме изданных в этот период, можно использовать конструкцию NOT BETWEEN:
SELECT * FROM Book
WHERE [Year] NOT BETWEEN 1990 AND 2002
Для приведенного выше примера запрос SELECT * FROM Results GROUP BY StudID должен привести к ошибке. При использовании GROUP BY, в разделе SELECT могут быть указаны только те столбцы, но которым произво - дится группировка. Прочие столбцы могут указываться, если они вы - ступают в качестве аргументов а1регатных функций, сопоставляющих группе значений одно.
Ниже приведены основные агрегатные функции:
- среднее значение: AVG ((DISTINCT | ALL) <выражение>);
- максимум: МАХ([DISTINCT|ALL] <выражение>);
- минимум: MIN([DISTINCT I ALL] <выражение>);
- сумма: SUM([DISTINCT I ALL] <выражение>);
- количество: COUNT ((DISTINCT | ALL) <выражение>) или COUNT (*).
Группировка может проводиться и по нескольким столбцам: для этого в разделе GROUP BY нужно перечислить их через запятую. Кроме того, можно группировать строю! по значению некоторой функции от данных в столбцах. Например, на рис. 7.1. а представлена таблица Device, в которой есть столбец DatePurch типа Date. В столб - це содержатся даты покупки устройств. Пусть необходимо подсчи - тать, сколько устройств было приобретено в каждом году (рис. 7.1, б). В Transact-SQL есть функция YEARO, позволяющая получить из даты значение года. Сам запрос будет выглядеть следующим образом: SELECT YEAR(DatePurch) [Год], COUNT(Devld) [К-во устройств] FROM Device GROUP BY YEAR(DatePurch)
Рассмотрим пример запроса, выводящего записи отсортирован - ными по двум столбцам: по названию предмета по возрастанию и оценке - по убыванию.
SELECT Subj, StudID, Mark FROM Results
ORDER BY Subj, Mark DESC
Список литературы
1. Диго С.М. Базы данных. Проектирование и создание: Учебно-методический комплекс. - М.: Изд. центр ЕАОИ, 2008. - 171 с.
2. Диго С.М. Проектирование и использование баз данных: учебник для вузов по направлению и специальности «Информ. систе - мы в экономике» / С.М. Диго. - М.: Финансы и статистика, 1995. - 207 с.
3. Дейт К.Дж. Введение в системы баз данных, 6-е издание: Пер. с англ. - К.; М.; СПб.: Издательский дом «Вильяме», 1999. - 848 с.
4. Карпова Т.С. Базы данных: модели, разработка, реализация. - СПб.: Питер, 2002 - 304 с.
5. Кириллов В.В. Введение в реляционные базы данных. / В.В. Кириллов. Г.Ю. Громов - СПб.: БХВ-Петербург, 2009. - 464 с.
6. N. Sharma, R.F. Chong и др. Database fundamentals / [Электронный ресурс] URL:
https7/w\vw.ibm.com/developenvorks/\vikis/display/db2oncampus/FREE+ ebook+-+Database+fundamcntals
7. Крёнке Д. Теория и практика построения баз данных. 8-е нзд - СПб.: Питер, 2003. (Серия «Классика computer science»). - 800 с.
8. Советов Б.Я. Базы данных: Теория и практика. Учеб. для вту - зов / Б.Я. Советов, В.В. Цехановский, В.Д. Чертовской. -2-е изд., стер. - М.: Высшая школа, 2007. - 463 с.
9. Кузнецов С.Д. Базы данных: языки и модели. Учебник - М.: ООО «Бином-Пресс», 2008. - 720 с.
10. Кривошеин М. ER: диаграммы сущность - связь. [Электрон - ный ресурс] URL: http://mikkri.narod.ru/library/pdf/ER_Modeling.pdf
П. Ицик Бен Гаи. Microsoft SQL Server 2008. Осиобы Т SQL: Пер. с англ. - СПб.: БХВ-Петербург, 2009. - 432 с.
Размещено на Allbest.ru
Подобные документы
Особенности использования инструкций SELECT. Задание критериев отбора (WHERE). Объединение нескольких источников данных. Групповые операции и вычисляемые поля. Формирование и выполнение запросов в реальном времени. Параметрические запросы. Сортировка.
контрольная работа [31,1 K], добавлен 14.02.2009Общие сведения о системах управления базами данных MS Access. Использование языка QBE для создания запросов на выборку данных. Параметрические и перекрестные запросы. Запросы с автоподстановкой, на выборку дубликатов и записей, не имеющих соответствия.
курсовая работа [32,8 K], добавлен 03.06.2015Создание БД с информацией о сотрудниках на основе таблиц: "Сотрудники", "Отдел". Поиск, сортировка и фильтрация данных в таблицах. Запросы на выборку данных, удаления и замены. Создание форм и отчетов на основе запросов и таблиц. Диспетчер кнопочных форм.
лабораторная работа [136,7 K], добавлен 01.12.2011Компоненты реляционной базы данных Microsoft Access. Создание структуры таблиц и определение связей между ними. Проектирование форм для сводных таблиц и запросов с помощью конструктора окон. Разработка и создание автоотчетов и запросов на выборку данных.
реферат [3,3 M], добавлен 29.01.2011Построение базы данных для экзаменационных ведомостей. Работа с таблицами, создание простых форм, отчетов и запросов (Query by Example). Использование информации из нескольких, связанных между собой таблиц. Запросы с использованием статистических функций.
практическая работа [39,1 K], добавлен 24.06.2009Понятия реляционных баз данных. Структура и создание таблиц. Заполнение базы данных. Запросы на выборку. Запросы с вычисляемыми полями. Создание форм, кнопочной формы, макросов и отчетов. Итоговые и перекрестные запросы. Перечень сущностей и атрибутов.
курсовая работа [1,3 M], добавлен 18.10.2015Функции базы данных Access: организация, добавление и изменение информации, связывание таблиц, макросы, модули, средства печати. Элементы базы данных: запросы, таблицы, формы и отчеты. Виды запросов: на выборку, перекрестные, на изменение, с параметрами.
реферат [2,1 M], добавлен 16.05.2014Разработка и создание экранной формы инфологической модели базы данных "Склад канцтоваров", с помощью которой можно систематизировать данные о товарах, формировать запросы о числе покупателей, поставщиков, заказов и получение отчетов по этим запросам.
курсовая работа [1,6 M], добавлен 29.10.2011Составление таблицы согласно образцу в программе MS Excel. Создание данных таблицы базы данных. Введение формул в программе MS Excel. Установление связи между таблицами. Создание запроса на выборку данных из одной таблицы с помощью мастер запросов.
контрольная работа [4,0 M], добавлен 17.04.2016Создание моделей данных, основных таблиц с помощью конструктора таблиц, связей между таблицами, форм для заполнения таблиц, запросов на выборку данных, отчетов для вывода на печать и начальной кнопочной формы. Основные объекты Microsoft Access.
контрольная работа [4,5 M], добавлен 18.03.2012