КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Примеры использования аппарата запросовПусть даны БД, представляющие информацию о книгах, хранящихся в библиотеке, представляют следующие таблицы: Authers (информация об авторах), Books (информация о книгах), Publ (информация об издательствах), Country (справочник стран), TypeBook(справочник направлений литературных произведений, например, поэзия, проза, критика и т.д.).
Структура таблиц следующая.
Authers
Books
Publ
Country
TypeBook
Сформируем запросы.
Список всех авторов по алфавиту, книги которых имеются в библиотеке. SELECT fio FROM authers ORDER BY fio
Список всех авторов по алфавиту, книги которых имеются в библиотеке с указанием количества книг.
SELECT a.fio, COUNT(b.id) FROM authers a, books b WHERE (a.id=b.id_aut) GROUP BY a.fio ORDER BY fio Список всех авторов по алфавиту, у которых книги выходили в заданном издательстве.
SELECT DISTINCT a.fio FROM authers a, publ p,books b WHERE (a.id=b.id_aut) AND(b.id_publ=p.id) AND (p.name= 'САМОЕ ХОРОШЕЕ ИЗДАТЕЛЬСТВО' ) ORDER BY fio Список всех книг, опубликованных в заданном году с указанием автора и издательства, упорядоченный по наименованию издательства, затем по фамилии автора и наименованию книги
SELECT p.name, a.fio, b.name FROM authers a, publ p, books b WHERE (b.id_publ=p.id) AND (b.id_aut=a.id) AND (b.year_publ=2001) ORDER BY p.name, a.fio, b.name Все книги данного автора, опубликованные после указанного года SELECT b.name FROM authers a, books b WHERE (b.id_aut=a.id) AND (a.fio='Иванов Иван Иванович') AND (b.year_publ>1975) ORDER BY b.name
6. Максимальный тираж по издательствам в заданном году
SELECT p.name, MAX(b.number) FROM publ p, books b WHERE (b.id_publ=p.id) AND (b.year_publ=2001) GROUP BY p.name ORDER BY p.name Суммарный тираж в страницах за заданный год заданного издательства
SELECT SUM(b.pages_book) FROM publ p, books b WHERE (b.id_publ=p.id) AND (b.year_publ=2001) AND (p.name='Несчастный случай')
|