КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
FROM firm
SELECT Otdel, COUNT(Tab_nom) GROUP BY Otdel HAVING COUNT(Tab_nom)>10 Отбор данных из нескольких таблиц. С помощью SQL-запроса можно легко сформировать выборку на основе использования данных из нескольких таблиц. В случае, когда требуется выбрать поля из набора таблиц, для указания принадлежности поля к определенной таблице используется составное имя, включающее имя таблицы, разделительную точку и имя поля: Имя_таблицы. нмя_поля Если связь между двумя таблицами не установлена, то в результирующий набор данных войдут все возможные комбинации записей указанных таблиц, то есть каждой записи одной таблицы будет поставлена в соответствие каждая запись другой таблицы. На практике редко возникает необходимость формирования подобного рода наборов данных. Гораздо чаще между таблицами устанавливается связь по определенному полю или группе полей. Такую связь можно установить, используя описатель INNER JOIN в секции FROM, либо задавая соответствующее условие в секции WHERE. Например, в БД имеется две таблицы, в одной из которых хранятся данные обо всех преподавателях института, а в другой содержится расписание занятий различных групп. Первая таблица inst.db имеет такие поля: Фамилия преподавателя (Fam), Должность (Dolgn), Кафедра (Kaf). Вторая таблица rasp.db содержит поля: Дисциплина (Discipl), Группа (Grup), День недели (Day), Время (Vrem), Аудитория (Audit), Преподаватель (Prep). Допустим, из второй таблицы необходимо выбрать все записи, относящиеся к парам, которые проводят преподаватели кафедры иностранного языка. Как видно из описания таблиц, в расписании не указано, на какой кафедре работает тот или иной преподаватель. Поэтому, чтобы выбрать необходимые сведения, нужно воспользоваться информацией из первой таблицы. Решить поставленную задачу можно следующим образом. Между таблицами устанавливается связь по фамилии преподавателя и формируется промежуточный набор данных, содержащий записи обеих таблиц, у которых совпадают значения соответствующих полей. Затем из этого набора данных исключаются все записи, которые не удовлетворяют заданному условию, то есть в результирующий набор данных войдут только записи таблицы rasp, содержащие информацию о парах, которые проводят преподаватели кафедры иностранных языков. Реализуется это с помощью запроса следующего вида: SELECT rasp.*
Дата добавления: 2014-12-25; Просмотров: 332; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |