Имя_таблицы. нмя_поля
Если связь между двумя таблицами не установлена, то в результирующий набор данных войдут все возможные комбинации записей указанных таблиц, то есть каждой записи одной таблицы будет поставлена в соответствие каждая запись другой таблицы. На практике редко возникает необходимость формирования подобного рода наборов данных. Гораздо чаще между таблицами устанавливается связь по определенному полю или группе полей. Такую связь можно установить, используя описатель INNER JOINв секции FROM,либо задавая соответствующее условие в секции WHERE.
Например, в БД имеется две таблицы, в одной из которых хранятся данные обо всех преподавателях института, а в другой содержится расписание занятий различных групп. Первая таблица inst.dbимеет такие поля: Фамилия преподавателя (Fam),Должность (Dolgn),Кафедра (Kaf).Вторая таблица rasp.dbсодержит поля: Дисциплина (Discipl),Группа (Grup),День недели (Day),Время (Vrem),Аудитория (Audit),Преподаватель (Prep).Допустим, из второй таблицы необходимо выбрать все записи, относящиеся к парам, которые проводят преподаватели кафедры иностранного языка. Как видно из описания таблиц, в расписании не указано, на какой кафедре работает тот или иной преподаватель. Поэтому, чтобы выбрать необходимые сведения, нужно воспользоваться информацией из первой таблицы. Решить поставленную задачу можно следующим образом. Между таблицами устанавливается связь по фамилии преподавателя и формируется промежуточный набор данных, содержащий записи обеих таблиц, у которых совпадают значения соответствующих полей. Затем из этого набора данных исключаются все записи, которые не удовлетворяют заданному условию, то есть в результирующий набор данных войдут только записи таблицы rasp,содержащие информацию о парах, которые проводят преподаватели кафедры иностранных языков. Реализуется это с помощью запроса следующего вида:
SELECT rasp.*
Дата добавления: 2014-12-01; просмотров: 897;