Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практическая работа 8,9 правильная.doc
Скачиваний:
9
Добавлен:
18.07.2019
Размер:
244.22 Кб
Скачать

Объединение таблиц по отношению неравенства

В большинстве случаев таблицы объединяются по условию равенства значений в полях связи, но допустимо объединение таблиц и по условию «неравенства». В этом случае условием связи может быть любой из операторов сравнения: >, >=, <, <=, <>.

Для создания запроса, использующего такие условия связи, можно поступить следующим образом:

1. Создать в окне конструктора связь типа равенства.

2. Перейти в режим SQL и заменить знак "=" другим оператором сравнения. Однако такой запрос уже нельзя представить в режиме конструктора.

Пример 5.20. Заменив знак "=" на "<>", в приведенной на стр. 93 инструкции SQL, можно создать запрос, объединяющий записи таблиц А и В с несовпадающими значениями в связанных полях. Его результат виден на рис. 5.30.

Рис. 5.30. Связь по неравенству

Соответствующая инструкция SQL имеет вид:

SELECT А.a1, В.b1 FROM А INNER JOIN В ON А.a1 <> В.b1;

Можно поступить иначе: не связывать таблицы в окне конструктора, а записать условие на несовпадение значений полей в строке условий. В нашем примере это условие накладывается на значения в поле a1 и выглядит так: <> [b1].

Соответствующая инструкция SQL имеет вид SELECT А.a1, В.b1 FROM А, В WHERE (((А.a1)<>[b1]));

Отбор записей, формирующих группы

В том случае, когда из групп должны быть исключены некоторые записи, нужно добавить в бланк запроса поле или поля, которые будут использованы для отбора нужных записей. Для создания условия отбора по данному полю нужно выбрать в строке Групповая операция значение Условие и ввести условие в строку Условие отбора. Access автоматически отключит вывод на экран значений этого поля.

Пример 5.23. Определить число студентов в каждой учебной группе, родившихся в 1973 году или позднее. Для этого нужно в бланк запроса включить дополнительно поле День рождения, выбрать в строке Групповая операция значение Условие и ввести условие отбора > 31.12.72. Access добавит к дате с двух сторон # и бланк запроса будет иметь вид, представленный на рис. 5.34.

Рис 5.34. Отбор записей в группах

После добавления этого условия в Access включит в формируемые группы лишь те записи, которые относятся к студентам, родившимся позднее 31 декабря 1972 года.

Пример 5.24. Определить средние баллы по информатике девушек в каждой учебной группе. Этот запрос использует данные из двух таблиц: Студенты и Сессия. В его бланк следует включить следующие поля (см. рис. 5.35):

Группа — используется для группировки записей;

Пол и Код экзамена — служит для отбора нужных записей в группах;

Оценка — по этому полю производится групповая операция

Avg (вычисление среднего значения среди оценок по информатике). Результат выполнения запроса представлен на рис. 5.36.

Рис 5.36. Итоговый результат

Чтобы получить значения средних баллов в таком (отформатированном) виде необходимо настроить свойства итогового поля Оценка. Для этого нужно щелкнуть правой кнопкой мыши по полю Оценка, открыть список его свойств и установить для свойства Формат поля значение Фиксированный, для свойства Число десятичных знаков 2, а для свойства Подпись Средний балл (см. рис. 5.37).

Рис 5.37. Установка свойств поля Оценка