Лабораторная работа №19

«SQL-запросы. Создание запроса на выборку.»

 

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

 

Порядок выполнения работы:

Справочная информация

Команда SELECT предназначена для выборки из таблиц требуемых полей и записей. В простейшем случае выборки всех полей из таблицы Студенты команда имеет вид:

SELECT * FROM Студенты

По команде SELECT[Фамилия],[Имя] FROM Студенты

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

Сортировка записей по заданному полю выполняется с использованием ключевого слова ORDER BY:

SELECT[Фамилия],[Имя] FROM Студенты ORDER BY[Фамилия] ASC

В выше приведенной команде сортировка по возрастанию (ключевое слово ASC) выполняется по записям поля Фамилия. Ключевое слово ASC можно не указывать. Если выполняется сортировка по убыванию, то вместо ключевого слова ASC необходимо указывать ключевое слово DESC.

По команде SELECT TOP 5[Фамилия] FROM Студенты ORDER BY[Фамилия] ASC

выбираются первые 5 по алфавиту записей.

По команде SELECT [Фамилия]&” “&[Имя] AS ФИО FROM Студенты

создаётся вычисляемое поле ФИО, являющееся сцеплением строк Фамилия и Имя. Между этими строками вставляется строка из единственного пробела, чтобы слова были записаны раздельно.

По команде SELECT DISTINCT[Дата рождения] AS[Юбилей] FROM Студенты

извлекаются только уникальные записи поля Дата рождения. Это поле в запросе переименовано в поле Юбилей.

Командой SELECT с использованием ключевого слова WHERE осуществляется отбор записей по указанному условию. Любое условие формируется с использованием операций отношения <, >, <=, >=, которые могут объединяться с использованием операций AND (логическое И), OR (логическое ИЛИ) и NOT (логическое НЕ). например, по команде SELECT[Фамилия],[Оценка] FROM Студенты WHERE[Оценка]<=3 OR[Оценка]>4

отбираются только фамилии с оценками 2, 3, 5.

В условии WHERE могут использоваться операторы для построения условий:

BETWEEN … AND … - выполняет проверку на диапазон значений;

LIKE – выполняет проверку сравнение строковых значений;

IN – выполняет проверку выражения на совпадение с любым из элементов списка.

Например, по команде

SELECT * FROM Студенты WHERE[Год рождения] BETWEEN 1981 AND 1990 AND [Группа] IN(“1212”, “1213”)

выбираются записи, у которых год рождения в диапазоне от 1981 до 1990 включительно и которые находятся в группе из указанного списка: 1212, 1213 (элементы списка в IN указаны в двойных кавычках, так как группа является данным текстового типа, для числовых данных элементы списка в кавычках указывать не надо).

По команде: SELECT * FROM Студенты WHERE[Фамилия] LIKE “А*”

из таблицы Студенты выбираются только записи, чьи фамилии начинаются на букву А (звёздочка в инструкции LIKE означает все остальное).

 

Задание 1. Создать запрос, содержащий все поля таблицы Эксперты.

Задание 2. Создать запрос, содержащий поля Фамилия, Имя, Ученая степень таблицы Эксперты.

Задание 3. Создать запрос, содержащий поля Фамилия, Имя, Контактный телефон таблицы Эксперты с упорядочением по алфавиту записей по полям Фамилия и Имя.

Задание 4. Создать запрос, содержащий поля Фамилия, Имя, Сфера компетентности таблицы Эксперты и выбирающий только первые 5 записей по алфавиту поля Фамилия.

Задание 5. Создать запрос, содержащий поля Фамилия, Имя таблицы Эксперты и выбирающий записи с фамилией Котов.

Задание 6. Создать запрос, содержащий поля Фамилия, Имя таблицы Эксперты и выбирающий записи фамилий, начинающихся на букву К.

Задание 7. Создать запрос, содержащий поля Фамилия, Имя таблицы Эксперты и выбирающий только кандидатов наук.

Задание 8. Создать запрос, содержащий поля Эксперт, Количество часов таблицы Выполненные работы и выбирающий записи с количеством часов <3.

Задание 9. Создать запрос, содержащий поля Фамилия, Имя, Код организации таблицы Эксперты и выбирающий записи с фамилиями от буквы К до буквы Н включительно.

Задание 10. Создать запрос, содержащий поля Эксперт, Тема, Дата таблицы Выполненные работы и выбирающий записи с датой до 1 марта 1990 года.

Задание 11. Создать запрос, содержащий поля Эксперт, Дата, Количество часов таблицы Выполненные работы и выбирающий записи с датой от 5 марта 1985 года до 4 февраля 2001 года.

Задание 12. Создать запрос, содержащий поля Код организации, Город, Телефон таблицы Организации и выбирающий записи с кодом организации до 3 и после 6.

Задание 13. Создать запрос, содержащий поля Код организации, Город, Телефон таблицы Организации и выбирающий записи с кодом организации от 4 до 7 включительно и с городом Минск.