Главная страница
Содержание
 
 

Примеры

Пример 1


Дано: Отношение Студенты(ФИО, Номер_зк); и Группы (Номер_зк, Группа). Обозначим Студенты – R1, а Группы - R2.
Считаем, что R2(Номер_зк) – внешний ключ на одноименный атрибут в отношении R1.
Отношения R1 и R2 содержат следующие кортежи:
R1 (студенты)

ФИОНомер з.к.
Бек А.Е.030303
Бец А.Т.040404
Тхо Н.Х.050505


R2 (группы)

Номер з.к.АА21
030303АА31
040404АА41
050505ВИ11


Надо: Написать запрос SQL выбирающий номера зачетных книжек тех студентов, которые обучались хотя бы в одной группе.
Решение:
SELECT r1.Номер_зк FROM r1,r2 WHERE r1.Номер_зк = r2.Номер_зк;
Результат выполнения запроса:

Номер з.к.
030303
040404
050505



Пример 2

Дано:
Отношение Оценки(ФИО, Дисциплина, Оценки);
Группы (ФИО, Группа);
и Дисциплины (Группа, Дисциплина).
Обозначим Оценки – R3, Группы – R4, Дисциплины – R5.

R3 (оценки)

ФИОДисциплинаОценка
Петров Ф.И.Базы данных5
Сидоров К.А.td>Базы данных4
Миронов А.В.Базы данных2
Петров Ф.И.Моделирование5
Миронов А.В.МоделированиеNull
Трофимов П.А.Сети ЭВМ4
Уткина Н.В.Сети ЭВМ5

R4 (группы)

ФИОГруппа
Петров Ф.И.АИ21
Сидоров К.А.АИ21
Миронов А.В.АИ21
Трофимов П.А.АИ22
Уткина Н.В.АИ22

R5 (дисциплины)

ГруппаДисциплина
АИ21Базы данных
АИ21Моделирование
АИ22Сети ЭВМ
АИ22Базы данных


Надо: Вывести все оценки студентов в алфавитном порядке по убыванию ФИО.
Решение:
SELECT r3.ФИО, r3.Оценка FROM r3 ORDER BY r3.ФИО DESC;

Пример 3

Надо:
Вывести оценки студентов (отношение R3 из примера 2), не проходивших итоговую аттестацию (NULL – значения), либо получивших неудовлетворительную оценку. Сортировка по полю ФИО по возрастанию.
Решение:
SELECT r3.ФИО, r3.Оценка FROM r3 WHERE (r3.Оценка IS NULL) OR
(r3.Оценка < 3) ORDER BY r3.ФИО;
В примере 3 скобки не являются обязательными.