Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Базы данных / ЛР4_2014

.pdf
Скачиваний:
24
Добавлен:
21.03.2015
Размер:
474.43 Кб
Скачать

ПМИ

БАЗЫ ДАННЫХ

2014

Лабораторная работа № 4. Создание запросов

Цель работы: приобретение практических навыков создания запросов на выборку.

Задания

1.Изучите приведенный в лабораторной работе теоретический материал.

2.Изучите приведенные в лабораторной работе примеры создания запросов.

3.Выполните индивидуальное задание: сформулируйте и согласуйте с преподавателем список запросов к проектируемой Вами базе данных. Список должен включать следующие запросы:

запрос на выборку к одной таблице с условием, накладываемым на выбор записей (предложение WHERE) и сортировкой записей результирующей таблиц;

три запроса на соединение связанных таблиц с использованием операторов, внутреннего или внешнего соединения;

запросы, реализующие подведение итогов по группе.

4.Создайте SQL-код запросов.

5.Покажите работу преподавателю.

6.Сохраните SQL-код запросов в текстовом файле.

7.Ответьте на контрольные вопросы.

Краткие теоретические сведения

Запрос – это требование конечного пользователя или приложения, направляемое СУБД и активизирующее в системе БД действия, которые обеспечивают выборку, вставку, удаление или обновление указанных в нем данных.

Синтаксис запроса на выборку

SELECT [ALL|DISTINCT|] <список выбора>

FROM <список таблиц>

[WHERE <условие отбора строк>]

[GROUP BY <список полей, по которым будут группироваться записи>] [HAVING <условие отбора групп записей>]

[ORDER BY <определение сортировки записей>];

В предложении SELECT задают имена столбцов, которые должны войти в итоговый набор данных после выполнения запроса. Этот набор должен содержать не менее одного столбца. Столбцы в предложении SELECT перечисляются через запятую. Порядок столбцов может отличаться от порядка столбцов в базовой таблице. Если все столбцы исходной таблицы должны войти в результирующую таблицу, то после команды ставится символ (*).

Качала Н.М.

Страница 1

ПМИ

БАЗЫ ДАННЫХ

2014

Винструкции SELECT можно использовать символьные константы, заключенные в апострофы, и арифметические выражения, включающие числовые столбцы и константы, а также операторы (+, -, *, /), сгруппированные по мере необходимости с помощью круглых скобок.

Все столбцы, перечисленные в командах SELECT и WHERE должны существовать

водной из таблиц, указанных в команде FROM.

Впредложении WHERE задают условие, на основании которого выбираются строки из таблицы (таблиц).

При записи условий используют: арифметические операции;

операторы сравнения =,<>, <, > , <=, >=; !> - не больше; !< -не меньше;

оператор сравнения IN – проверка сравниваемой величины на вхождение во множество;

логические операции AND, OR, NOT;

оператор BETWEEN (используется для сравнения некоторой величины с двумя другими величинами, первая из которых меньше второй; условие, содержащее оператор BETWEEN, истинно, если сравниваемая величина равна граничному значению или любому значению между границами);

оператор LIKE – для сравнения символьных переменных с символами шаблона;

IS NULL, IS NOT NULL;

CONSTAINS;

предикат EXIST;

круглые скобки.

В операторе LIKE используют следующие подстановочные элементы:

знак подчеркивания _ обозначает точно один символ в строке;

% – любая строка, состоящая из 0 и более символов;

[список символов] – один символ из заданного списка символов; символы могут перечисляться через запятую, быть заданы как диапазон или идти друг за другом без разделительных знаков, например, [a,b,c,d], [a-d], [abcd];

[^список символов] – любой символ вне указанного множества.

Примеры

1.Выбрать должности с окладами в диапазоне от 10000 до 15000. SELECT должность, оклад

FROM ДОЛЖНОСТИ

WHERE оклад BETWEEN 10000 AND 15000;

2.Выбрать сотрудников, фамилия которых начинается на букву «А». SELECT *

FROM СОТРУДНИК

WHERE Фамилия LIKE 'А%';

Качала Н.М.

Страница 2

ПМИ

БАЗЫ ДАННЫХ

2014

3.Вывести фамилии и паспортные данные сотрудников. Сортировку выполнить в алфавитном порядке их фамилий.

SELECT Фамилия, Номер_пасп FROM СОТРУДНИКИ

ORDER BY Фамилия;

4.Вывести фамилию сотрудника и список его несовершеннолетних родственников.

SELECT СОТРУДНИК.Фамилия, РОДСТВЕННИКИ.Фамилия, РОДСТВЕННИКИ.Имя, РОДСТВЕННИКИ.Отчество, РОДСТВЕННИКИ.Дата_рожд, РОДСТВО.степень_родства FROM СОТРУДНИК INNER JOIN РОДСТВЕННИКИ ON

СОТРУДНИК.таб_ном = РОДСТВЕННИКИ.таб_ном INNER JOIN РОДСТВО ON РОДСТВЕННИКИ.код_родст = РОДСТВО.код_родств

WHERE DATEDIFF(year, GETDATE(),РОДСТВЕННИКИ.Дата_рожд) <18;

Запросы можно создавать в Конструкторе. Для активизации Конструктора

необходимо в Обозревателе объектов щелкнуть ПКМ по папке Представление и из контекстного меню выбрать пункт Создать представление. Появится окно Добавить таблицу, предназначенное для выбора таблиц и представлений, участвующих в запросе.

После добавления таблиц и закрытия окна Добавить таблицу появится окно конструктора запросов. Работу с Конструктором студенты должны изучить самостоятельно.

Контрольные вопросы

1.Объясните разницу между INNER JOIN и LEFT OUTER JOIN.

2.Объясните разницу между RIGTH OUTER JOIN и LEFT OUTER JOIN.

3.Какие итоговые функции используются в запросах?

4.Какие операторы используются для выбора только нескольких первых записей?

Качала Н.М.

Страница 3

Соседние файлы в папке Базы данных